@@ -5,7 +5,7 @@ define i8 @atomicrmw_uinc_wrap_i8(ptr %ptr, i8 %val) {
5
5
; CHECK-LABEL: atomicrmw_uinc_wrap_i8:
6
6
; CHECK: .cfi_startproc
7
7
; CHECK-NEXT: ! %bb.0:
8
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
8
+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
9
9
; CHECK-NEXT: and %o0, -4, %o2
10
10
; CHECK-NEXT: mov 3, %o3
11
11
; CHECK-NEXT: andn %o3, %o0, %o0
@@ -36,7 +36,7 @@ define i8 @atomicrmw_uinc_wrap_i8(ptr %ptr, i8 %val) {
36
36
; CHECK-NEXT: nop
37
37
; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
38
38
; CHECK-NEXT: srl %o4, %o0, %o0
39
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
39
+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
40
40
; CHECK-NEXT: retl
41
41
; CHECK-NEXT: nop
42
42
%result = atomicrmw uinc_wrap ptr %ptr , i8 %val seq_cst
@@ -47,7 +47,7 @@ define i16 @atomicrmw_uinc_wrap_i16(ptr %ptr, i16 %val) {
47
47
; CHECK-LABEL: atomicrmw_uinc_wrap_i16:
48
48
; CHECK: .cfi_startproc
49
49
; CHECK-NEXT: ! %bb.0:
50
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
50
+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
51
51
; CHECK-NEXT: and %o0, -4, %o2
52
52
; CHECK-NEXT: and %o0, 3, %o0
53
53
; CHECK-NEXT: xor %o0, 2, %o0
@@ -79,7 +79,7 @@ define i16 @atomicrmw_uinc_wrap_i16(ptr %ptr, i16 %val) {
79
79
; CHECK-NEXT: nop
80
80
; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
81
81
; CHECK-NEXT: srl %o5, %o0, %o0
82
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
82
+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
83
83
; CHECK-NEXT: retl
84
84
; CHECK-NEXT: nop
85
85
%result = atomicrmw uinc_wrap ptr %ptr , i16 %val seq_cst
@@ -90,7 +90,7 @@ define i32 @atomicrmw_uinc_wrap_i32(ptr %ptr, i32 %val) {
90
90
; CHECK-LABEL: atomicrmw_uinc_wrap_i32:
91
91
; CHECK: .cfi_startproc
92
92
; CHECK-NEXT: ! %bb.0:
93
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
93
+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
94
94
; CHECK-NEXT: ld [%o0], %o2
95
95
; CHECK-NEXT: .LBB2_1: ! %atomicrmw.start
96
96
; CHECK-NEXT: ! =>This Inner Loop Header: Depth=1
@@ -106,7 +106,7 @@ define i32 @atomicrmw_uinc_wrap_i32(ptr %ptr, i32 %val) {
106
106
; CHECK-NEXT: bne %icc, .LBB2_1
107
107
; CHECK-NEXT: nop
108
108
; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
109
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
109
+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
110
110
; CHECK-NEXT: retl
111
111
; CHECK-NEXT: mov %o2, %o0
112
112
%result = atomicrmw uinc_wrap ptr %ptr , i32 %val seq_cst
@@ -160,7 +160,7 @@ define i8 @atomicrmw_udec_wrap_i8(ptr %ptr, i8 %val) {
160
160
; CHECK-LABEL: atomicrmw_udec_wrap_i8:
161
161
; CHECK: .cfi_startproc
162
162
; CHECK-NEXT: ! %bb.0:
163
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
163
+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
164
164
; CHECK-NEXT: and %o0, -4, %o2
165
165
; CHECK-NEXT: mov 3, %o3
166
166
; CHECK-NEXT: andn %o3, %o0, %o0
@@ -193,7 +193,7 @@ define i8 @atomicrmw_udec_wrap_i8(ptr %ptr, i8 %val) {
193
193
; CHECK-NEXT: nop
194
194
; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
195
195
; CHECK-NEXT: srl %o5, %o0, %o0
196
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
196
+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
197
197
; CHECK-NEXT: retl
198
198
; CHECK-NEXT: nop
199
199
%result = atomicrmw udec_wrap ptr %ptr , i8 %val seq_cst
@@ -204,7 +204,7 @@ define i16 @atomicrmw_udec_wrap_i16(ptr %ptr, i16 %val) {
204
204
; CHECK-LABEL: atomicrmw_udec_wrap_i16:
205
205
; CHECK: .cfi_startproc
206
206
; CHECK-NEXT: ! %bb.0:
207
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
207
+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
208
208
; CHECK-NEXT: and %o0, -4, %o2
209
209
; CHECK-NEXT: and %o0, 3, %o0
210
210
; CHECK-NEXT: xor %o0, 2, %o0
@@ -238,7 +238,7 @@ define i16 @atomicrmw_udec_wrap_i16(ptr %ptr, i16 %val) {
238
238
; CHECK-NEXT: nop
239
239
; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
240
240
; CHECK-NEXT: srl %g2, %o0, %o0
241
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
241
+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
242
242
; CHECK-NEXT: retl
243
243
; CHECK-NEXT: nop
244
244
%result = atomicrmw udec_wrap ptr %ptr , i16 %val seq_cst
@@ -249,7 +249,7 @@ define i32 @atomicrmw_udec_wrap_i32(ptr %ptr, i32 %val) {
249
249
; CHECK-LABEL: atomicrmw_udec_wrap_i32:
250
250
; CHECK: .cfi_startproc
251
251
; CHECK-NEXT: ! %bb.0:
252
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
252
+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
253
253
; CHECK-NEXT: ld [%o0], %o2
254
254
; CHECK-NEXT: .LBB6_1: ! %atomicrmw.start
255
255
; CHECK-NEXT: ! =>This Inner Loop Header: Depth=1
@@ -267,7 +267,7 @@ define i32 @atomicrmw_udec_wrap_i32(ptr %ptr, i32 %val) {
267
267
; CHECK-NEXT: bne %icc, .LBB6_1
268
268
; CHECK-NEXT: nop
269
269
; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
270
- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
270
+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
271
271
; CHECK-NEXT: retl
272
272
; CHECK-NEXT: mov %o2, %o0
273
273
%result = atomicrmw udec_wrap ptr %ptr , i32 %val seq_cst
0 commit comments