9
9
ret i8 %v
10
10
}
11
11
12
- define i32 @anyext_load_monotonic_i32() {
13
- %v = load atomic i32, ptr null monotonic, align 4
14
- ret i32 %v
15
- }
16
-
17
12
...
18
13
---
19
14
name : load_acq_i8
@@ -30,33 +25,13 @@ body: |
30
25
31
26
; CHECK-LABEL: name: load_acq_i8
32
27
; CHECK: liveins: $x0
33
- ; CHECK-NEXT: {{ $}}
34
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
35
- ; CHECK-NEXT: [[LDARB:%[0-9]+]]:gpr32 = LDARB [[COPY]] :: (load acquire (s8) from %ir.ptr, align 8)
36
- ; CHECK-NEXT: $w0 = COPY [[LDARB]]
37
- ; CHECK-NEXT: RET_ReallyLR implicit $w0
28
+ ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
29
+ ; CHECK: [[LDARB:%[0-9]+]]:gpr32 = LDARB [[COPY]] :: (load acquire (s8) from %ir.ptr, align 8)
30
+ ; CHECK: $w0 = COPY [[LDARB]]
31
+ ; CHECK: RET_ReallyLR implicit $w0
38
32
%0:gpr(p0) = COPY $x0
39
33
%2:gpr(s32) = G_LOAD %0(p0) :: (load acquire (s8) from %ir.ptr, align 8)
40
34
$w0 = COPY %2(s32)
41
35
RET_ReallyLR implicit $w0
42
36
43
37
...
44
- ---
45
- name : anyext_load_monotonic_i32
46
- legalized : true
47
- regBankSelected : true
48
- tracksRegLiveness : true
49
- body : |
50
- bb.1:
51
- ; CHECK-LABEL: name: anyext_load_monotonic_i32
52
- ; CHECK: [[COPY:%[0-9]+]]:gpr64common = COPY $xzr
53
- ; CHECK-NEXT: [[LDRWui:%[0-9]+]]:gpr32 = LDRWui [[COPY]], 0 :: (load monotonic (s32) from `ptr null`)
54
- ; CHECK-NEXT: %ld:gpr64all = SUBREG_TO_REG 0, [[LDRWui]], %subreg.sub_32
55
- ; CHECK-NEXT: $x0 = COPY %ld
56
- ; CHECK-NEXT: RET_ReallyLR implicit $x0
57
- %1:gpr(p0) = G_CONSTANT i64 0
58
- %ld:gpr(s64) = G_LOAD %1(p0) :: (load monotonic (s32) from `ptr null`)
59
- $x0 = COPY %ld(s64)
60
- RET_ReallyLR implicit $x0
61
-
62
- ...
0 commit comments