Skip to content

Commit 37fe045

Browse files
committed
change test cases
1 parent ecb38ee commit 37fe045

File tree

2 files changed

+6435
-6434
lines changed

2 files changed

+6435
-6434
lines changed

llvm/test/CodeGen/PowerPC/atomic-compare-exchange-weak.ll

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,62 +12,60 @@
1212
define i32 @foo(ptr noundef %cp, ptr noundef %old, i32 noundef %c) {
1313
; CHECK-LABEL: foo:
1414
; CHECK: # %bb.0: # %entry
15-
; CHECK-NEXT: lwz r7, 0(r4)
1615
; CHECK-NEXT: stw r3, -4(r1)
1716
; CHECK-NEXT: stw r4, -8(r1)
17+
; CHECK-NEXT: lwz r7, 0(r4)
1818
; CHECK-NEXT: stw r5, -12(r1)
1919
; CHECK-NEXT: stw r5, -16(r1)
20-
; CHECK-NEXT: L..BB0_1: # %entry
21-
; CHECK-NEXT: #
2220
; CHECK-NEXT: lwarx r6, 0, r3
23-
; CHECK-NEXT: cmpw cr1, r6, r7
24-
; CHECK-NEXT: bne cr1, L..BB0_3
25-
; CHECK-NEXT: # %bb.2: # %entry
26-
; CHECK-NEXT: #
27-
; CHECK-NEXT: stwcx. r5, 0, r3
28-
; CHECK-NEXT: bne cr0, L..BB0_1
29-
; CHECK-NEXT: L..BB0_3: # %entry
3021
; CHECK-NEXT: cmplw r6, r7
22+
; CHECK-NEXT: bne cr0, L..BB0_2
23+
; CHECK-NEXT: # %bb.1: # %cmpxchg.fencedstore
24+
; CHECK-NEXT: stwcx. r5, 0, r3
3125
; CHECK-NEXT: beq cr0, L..BB0_5
32-
; CHECK-NEXT: # %bb.4: # %cmpxchg.store_expected
26+
; CHECK-NEXT: L..BB0_2: # %cmpxchg.failure
27+
; CHECK-NEXT: crxor 4*cr5+lt, 4*cr5+lt, 4*cr5+lt
28+
; CHECK-NEXT: # %bb.3: # %cmpxchg.store_expected
3329
; CHECK-NEXT: stw r6, 0(r4)
34-
; CHECK-NEXT: L..BB0_5: # %cmpxchg.continue
30+
; CHECK-NEXT: L..BB0_4: # %cmpxchg.continue
3531
; CHECK-NEXT: li r3, 0
3632
; CHECK-NEXT: li r4, 1
37-
; CHECK-NEXT: isel r3, r4, r3, 4*cr1+eq
33+
; CHECK-NEXT: isel r3, r4, r3, 4*cr5+lt
3834
; CHECK-NEXT: stb r3, -17(r1)
3935
; CHECK-NEXT: blr
36+
; CHECK-NEXT: L..BB0_5:
37+
; CHECK-NEXT: creqv 4*cr5+lt, 4*cr5+lt, 4*cr5+lt
38+
; CHECK-NEXT: b L..BB0_4
4039
;
4140
; CHECK64-LABEL: foo:
4241
; CHECK64: # %bb.0: # %entry
43-
; CHECK64-NEXT: lwz r7, 0(r4)
4442
; CHECK64-NEXT: std r3, -8(r1)
4543
; CHECK64-NEXT: std r4, -16(r1)
44+
; CHECK64-NEXT: lwz r7, 0(r4)
4645
; CHECK64-NEXT: stw r5, -20(r1)
4746
; CHECK64-NEXT: stw r5, -24(r1)
48-
; CHECK64-NEXT: L..BB0_1: # %entry
49-
; CHECK64-NEXT: #
5047
; CHECK64-NEXT: lwarx r6, 0, r3
51-
; CHECK64-NEXT: cmpw cr1, r6, r7
52-
; CHECK64-NEXT: bne cr1, L..BB0_3
53-
; CHECK64-NEXT: # %bb.2: # %entry
54-
; CHECK64-NEXT: #
55-
; CHECK64-NEXT: stwcx. r5, 0, r3
56-
; CHECK64-NEXT: bne cr0, L..BB0_1
57-
; CHECK64-NEXT: L..BB0_3: # %entry
5848
; CHECK64-NEXT: cmplw r6, r7
49+
; CHECK64-NEXT: bne cr0, L..BB0_2
50+
; CHECK64-NEXT: # %bb.1: # %cmpxchg.fencedstore
51+
; CHECK64-NEXT: stwcx. r5, 0, r3
5952
; CHECK64-NEXT: beq cr0, L..BB0_5
60-
; CHECK64-NEXT: # %bb.4: # %cmpxchg.store_expected
53+
; CHECK64-NEXT: L..BB0_2: # %cmpxchg.failure
54+
; CHECK64-NEXT: crxor 4*cr5+lt, 4*cr5+lt, 4*cr5+lt
55+
; CHECK64-NEXT: # %bb.3: # %cmpxchg.store_expected
6156
; CHECK64-NEXT: stw r6, 0(r4)
62-
; CHECK64-NEXT: L..BB0_5: # %cmpxchg.continue
57+
; CHECK64-NEXT: L..BB0_4: # %cmpxchg.continue
6358
; CHECK64-NEXT: li r3, 0
6459
; CHECK64-NEXT: li r4, 1
65-
; CHECK64-NEXT: isel r3, r4, r3, 4*cr1+eq
60+
; CHECK64-NEXT: isel r3, r4, r3, 4*cr5+lt
6661
; CHECK64-NEXT: li r4, 1
6762
; CHECK64-NEXT: stb r3, -25(r1)
6863
; CHECK64-NEXT: li r3, 0
69-
; CHECK64-NEXT: isel r3, r4, r3, 4*cr1+eq
64+
; CHECK64-NEXT: isel r3, r4, r3, 4*cr5+lt
7065
; CHECK64-NEXT: blr
66+
; CHECK64-NEXT: L..BB0_5:
67+
; CHECK64-NEXT: creqv 4*cr5+lt, 4*cr5+lt, 4*cr5+lt
68+
; CHECK64-NEXT: b L..BB0_4
7169
entry:
7270
%cp.addr = alloca ptr, align 4
7371
%old.addr = alloca ptr, align 4

0 commit comments

Comments
 (0)