@@ -5,7 +5,7 @@ define i8 @atomicrmw_uinc_wrap_i8(ptr %ptr, i8 %val) {
55; CHECK-LABEL: atomicrmw_uinc_wrap_i8:
66; CHECK: .cfi_startproc
77; CHECK-NEXT: ! %bb.0:
8- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
8+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
99; CHECK-NEXT: and %o0, -4, %o2
1010; CHECK-NEXT: mov 3, %o3
1111; CHECK-NEXT: andn %o3, %o0, %o0
@@ -36,7 +36,7 @@ define i8 @atomicrmw_uinc_wrap_i8(ptr %ptr, i8 %val) {
3636; CHECK-NEXT: nop
3737; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
3838; CHECK-NEXT: srl %o4, %o0, %o0
39- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
39+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
4040; CHECK-NEXT: retl
4141; CHECK-NEXT: nop
4242 %result = atomicrmw uinc_wrap ptr %ptr , i8 %val seq_cst
@@ -47,7 +47,7 @@ define i16 @atomicrmw_uinc_wrap_i16(ptr %ptr, i16 %val) {
4747; CHECK-LABEL: atomicrmw_uinc_wrap_i16:
4848; CHECK: .cfi_startproc
4949; CHECK-NEXT: ! %bb.0:
50- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
50+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
5151; CHECK-NEXT: and %o0, -4, %o2
5252; CHECK-NEXT: and %o0, 3, %o0
5353; CHECK-NEXT: xor %o0, 2, %o0
@@ -79,7 +79,7 @@ define i16 @atomicrmw_uinc_wrap_i16(ptr %ptr, i16 %val) {
7979; CHECK-NEXT: nop
8080; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
8181; CHECK-NEXT: srl %o5, %o0, %o0
82- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
82+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
8383; CHECK-NEXT: retl
8484; CHECK-NEXT: nop
8585 %result = atomicrmw uinc_wrap ptr %ptr , i16 %val seq_cst
@@ -90,7 +90,7 @@ define i32 @atomicrmw_uinc_wrap_i32(ptr %ptr, i32 %val) {
9090; CHECK-LABEL: atomicrmw_uinc_wrap_i32:
9191; CHECK: .cfi_startproc
9292; CHECK-NEXT: ! %bb.0:
93- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
93+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
9494; CHECK-NEXT: ld [%o0], %o2
9595; CHECK-NEXT: .LBB2_1: ! %atomicrmw.start
9696; CHECK-NEXT: ! =>This Inner Loop Header: Depth=1
@@ -106,7 +106,7 @@ define i32 @atomicrmw_uinc_wrap_i32(ptr %ptr, i32 %val) {
106106; CHECK-NEXT: bne %icc, .LBB2_1
107107; CHECK-NEXT: nop
108108; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
109- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
109+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
110110; CHECK-NEXT: retl
111111; CHECK-NEXT: mov %o2, %o0
112112 %result = atomicrmw uinc_wrap ptr %ptr , i32 %val seq_cst
@@ -160,7 +160,7 @@ define i8 @atomicrmw_udec_wrap_i8(ptr %ptr, i8 %val) {
160160; CHECK-LABEL: atomicrmw_udec_wrap_i8:
161161; CHECK: .cfi_startproc
162162; CHECK-NEXT: ! %bb.0:
163- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
163+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
164164; CHECK-NEXT: and %o0, -4, %o2
165165; CHECK-NEXT: mov 3, %o3
166166; CHECK-NEXT: andn %o3, %o0, %o0
@@ -193,7 +193,7 @@ define i8 @atomicrmw_udec_wrap_i8(ptr %ptr, i8 %val) {
193193; CHECK-NEXT: nop
194194; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
195195; CHECK-NEXT: srl %o5, %o0, %o0
196- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
196+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
197197; CHECK-NEXT: retl
198198; CHECK-NEXT: nop
199199 %result = atomicrmw udec_wrap ptr %ptr , i8 %val seq_cst
@@ -204,7 +204,7 @@ define i16 @atomicrmw_udec_wrap_i16(ptr %ptr, i16 %val) {
204204; CHECK-LABEL: atomicrmw_udec_wrap_i16:
205205; CHECK: .cfi_startproc
206206; CHECK-NEXT: ! %bb.0:
207- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
207+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
208208; CHECK-NEXT: and %o0, -4, %o2
209209; CHECK-NEXT: and %o0, 3, %o0
210210; CHECK-NEXT: xor %o0, 2, %o0
@@ -238,7 +238,7 @@ define i16 @atomicrmw_udec_wrap_i16(ptr %ptr, i16 %val) {
238238; CHECK-NEXT: nop
239239; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
240240; CHECK-NEXT: srl %g2, %o0, %o0
241- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
241+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
242242; CHECK-NEXT: retl
243243; CHECK-NEXT: nop
244244 %result = atomicrmw udec_wrap ptr %ptr , i16 %val seq_cst
@@ -249,7 +249,7 @@ define i32 @atomicrmw_udec_wrap_i32(ptr %ptr, i32 %val) {
249249; CHECK-LABEL: atomicrmw_udec_wrap_i32:
250250; CHECK: .cfi_startproc
251251; CHECK-NEXT: ! %bb.0:
252- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
252+ ; CHECK-NEXT: membar #LoadStore | #StoreStore
253253; CHECK-NEXT: ld [%o0], %o2
254254; CHECK-NEXT: .LBB6_1: ! %atomicrmw.start
255255; CHECK-NEXT: ! =>This Inner Loop Header: Depth=1
@@ -267,7 +267,7 @@ define i32 @atomicrmw_udec_wrap_i32(ptr %ptr, i32 %val) {
267267; CHECK-NEXT: bne %icc, .LBB6_1
268268; CHECK-NEXT: nop
269269; CHECK-NEXT: ! %bb.2: ! %atomicrmw.end
270- ; CHECK-NEXT: membar #LoadLoad | #StoreLoad | # LoadStore | #StoreStore
270+ ; CHECK-NEXT: membar #LoadLoad | #LoadStore
271271; CHECK-NEXT: retl
272272; CHECK-NEXT: mov %o2, %o0
273273 %result = atomicrmw udec_wrap ptr %ptr , i32 %val seq_cst
0 commit comments