diff options
| author | Mingming Liu <mingmingl@google.com> | 2025-09-10 15:25:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-10 15:25:31 -0700 |
| commit | 1417dafa1db9cb1b2b09438aa9f53ea5ab6e36e2 (patch) | |
| tree | 57f4b1f313c8cf74eed8819870f39c36ea263c68 /llvm/test/CodeGen/PowerPC/atomic-float.ll | |
| parent | 898b813bc8a6d0276bf0f4769f5f2f64b34e632d (diff) | |
| parent | b8cefcb601ddaa18482555c4ff363c01a270c2fe (diff) | |
Merge branch 'main' into users/mingmingl-llvm/samplefdo-profile-formatusers/mingmingl-llvm/samplefdo-profile-format
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/atomic-float.ll')
| -rw-r--r-- | llvm/test/CodeGen/PowerPC/atomic-float.ll | 90 |
1 files changed, 44 insertions, 46 deletions
diff --git a/llvm/test/CodeGen/PowerPC/atomic-float.ll b/llvm/test/CodeGen/PowerPC/atomic-float.ll index 600d28936c16..8232a44c7da2 100644 --- a/llvm/test/CodeGen/PowerPC/atomic-float.ll +++ b/llvm/test/CodeGen/PowerPC/atomic-float.ll @@ -9,37 +9,36 @@ define float @test_add(ptr %ptr, float %incr) { ; CHECK-64: # %bb.0: # %entry ; CHECK-64-NEXT: sync ; CHECK-64-NEXT: lfs 0, 0(3) -; CHECK-64-NEXT: b .LBB0_3 -; CHECK-64-NEXT: .LBB0_1: # %cmpxchg.nostore -; CHECK-64-NEXT: # in Loop: Header=BB0_3 Depth=1 -; CHECK-64-NEXT: crxor 20, 20, 20 -; CHECK-64-NEXT: .LBB0_2: # %cmpxchg.end -; CHECK-64-NEXT: # in Loop: Header=BB0_3 Depth=1 -; CHECK-64-NEXT: stw 4, -12(1) -; CHECK-64-NEXT: lfs 0, -12(1) -; CHECK-64-NEXT: bc 12, 20, .LBB0_7 -; CHECK-64-NEXT: .LBB0_3: # %atomicrmw.start -; CHECK-64-NEXT: # =>This Loop Header: Depth=1 -; CHECK-64-NEXT: # Child Loop BB0_4 Depth 2 +; CHECK-64-NEXT: .LBB0_1: # %atomicrmw.start +; CHECK-64-NEXT: # =>This Loop Header: Depth=1 +; CHECK-64-NEXT: # Child Loop BB0_2 Depth 2 ; CHECK-64-NEXT: fadds 2, 0, 1 ; CHECK-64-NEXT: stfs 2, -4(1) ; CHECK-64-NEXT: stfs 0, -8(1) ; CHECK-64-NEXT: lwz 5, -4(1) ; CHECK-64-NEXT: lwz 6, -8(1) -; CHECK-64-NEXT: .LBB0_4: # %cmpxchg.start -; CHECK-64-NEXT: # Parent Loop BB0_3 Depth=1 -; CHECK-64-NEXT: # => This Inner Loop Header: Depth=2 +; CHECK-64-NEXT: .LBB0_2: # %cmpxchg.start +; CHECK-64-NEXT: # Parent Loop BB0_1 Depth=1 +; CHECK-64-NEXT: # => This Inner Loop Header: Depth=2 ; CHECK-64-NEXT: lwarx 4, 0, 3 -; CHECK-64-NEXT: cmplw 4, 6 -; CHECK-64-NEXT: bne 0, .LBB0_1 -; CHECK-64-NEXT: # %bb.5: # %cmpxchg.fencedstore -; CHECK-64-NEXT: # in Loop: Header=BB0_4 Depth=2 +; CHECK-64-NEXT: cmplw 4, 6 +; CHECK-64-NEXT: bne- 0, .LBB0_5 +; CHECK-64-NEXT: # %bb.3: # %cmpxchg.fencedstore +; CHECK-64-NEXT: # ; CHECK-64-NEXT: stwcx. 5, 0, 3 -; CHECK-64-NEXT: bne 0, .LBB0_4 -; CHECK-64-NEXT: # %bb.6: # in Loop: Header=BB0_3 Depth=1 ; CHECK-64-NEXT: creqv 20, 20, 20 -; CHECK-64-NEXT: b .LBB0_2 -; CHECK-64-NEXT: .LBB0_7: # %atomicrmw.end +; CHECK-64-NEXT: bne- 0, .LBB0_2 +; CHECK-64-NEXT: .LBB0_4: # %cmpxchg.end +; CHECK-64-NEXT: # +; CHECK-64-NEXT: stw 4, -12(1) +; CHECK-64-NEXT: lfs 0, -12(1) +; CHECK-64-NEXT: bc 4, 20, .LBB0_1 +; CHECK-64-NEXT: b .LBB0_6 +; CHECK-64-NEXT: .LBB0_5: # %cmpxchg.nostore +; CHECK-64-NEXT: # +; CHECK-64-NEXT: crxor 20, 20, 20 +; CHECK-64-NEXT: b .LBB0_4 +; CHECK-64-NEXT: .LBB0_6: # %atomicrmw.end ; CHECK-64-NEXT: fmr 1, 0 ; CHECK-64-NEXT: lwsync ; CHECK-64-NEXT: blr @@ -50,37 +49,36 @@ define float @test_add(ptr %ptr, float %incr) { ; CHECK-32-NEXT: .cfi_def_cfa_offset 32 ; CHECK-32-NEXT: sync ; CHECK-32-NEXT: lfs 0, 0(3) -; CHECK-32-NEXT: b .LBB0_3 -; CHECK-32-NEXT: .LBB0_1: # %cmpxchg.nostore -; CHECK-32-NEXT: # in Loop: Header=BB0_3 Depth=1 -; CHECK-32-NEXT: crxor 20, 20, 20 -; CHECK-32-NEXT: .LBB0_2: # %cmpxchg.end -; CHECK-32-NEXT: # in Loop: Header=BB0_3 Depth=1 -; CHECK-32-NEXT: stw 4, 20(1) -; CHECK-32-NEXT: lfs 0, 20(1) -; CHECK-32-NEXT: bc 12, 20, .LBB0_7 -; CHECK-32-NEXT: .LBB0_3: # %atomicrmw.start -; CHECK-32-NEXT: # =>This Loop Header: Depth=1 -; CHECK-32-NEXT: # Child Loop BB0_4 Depth 2 +; CHECK-32-NEXT: .LBB0_1: # %atomicrmw.start +; CHECK-32-NEXT: # =>This Loop Header: Depth=1 +; CHECK-32-NEXT: # Child Loop BB0_2 Depth 2 ; CHECK-32-NEXT: fadds 2, 0, 1 ; CHECK-32-NEXT: stfs 2, 28(1) ; CHECK-32-NEXT: stfs 0, 24(1) ; CHECK-32-NEXT: lwz 5, 28(1) ; CHECK-32-NEXT: lwz 6, 24(1) -; CHECK-32-NEXT: .LBB0_4: # %cmpxchg.start -; CHECK-32-NEXT: # Parent Loop BB0_3 Depth=1 -; CHECK-32-NEXT: # => This Inner Loop Header: Depth=2 +; CHECK-32-NEXT: .LBB0_2: # %cmpxchg.start +; CHECK-32-NEXT: # Parent Loop BB0_1 Depth=1 +; CHECK-32-NEXT: # => This Inner Loop Header: Depth=2 ; CHECK-32-NEXT: lwarx 4, 0, 3 -; CHECK-32-NEXT: cmplw 4, 6 -; CHECK-32-NEXT: bne 0, .LBB0_1 -; CHECK-32-NEXT: # %bb.5: # %cmpxchg.fencedstore -; CHECK-32-NEXT: # in Loop: Header=BB0_4 Depth=2 +; CHECK-32-NEXT: cmplw 4, 6 +; CHECK-32-NEXT: bne- 0, .LBB0_5 +; CHECK-32-NEXT: # %bb.3: # %cmpxchg.fencedstore +; CHECK-32-NEXT: # ; CHECK-32-NEXT: stwcx. 5, 0, 3 -; CHECK-32-NEXT: bne 0, .LBB0_4 -; CHECK-32-NEXT: # %bb.6: # in Loop: Header=BB0_3 Depth=1 ; CHECK-32-NEXT: creqv 20, 20, 20 -; CHECK-32-NEXT: b .LBB0_2 -; CHECK-32-NEXT: .LBB0_7: # %atomicrmw.end +; CHECK-32-NEXT: bne- 0, .LBB0_2 +; CHECK-32-NEXT: .LBB0_4: # %cmpxchg.end +; CHECK-32-NEXT: # +; CHECK-32-NEXT: stw 4, 20(1) +; CHECK-32-NEXT: lfs 0, 20(1) +; CHECK-32-NEXT: bc 4, 20, .LBB0_1 +; CHECK-32-NEXT: b .LBB0_6 +; CHECK-32-NEXT: .LBB0_5: # %cmpxchg.nostore +; CHECK-32-NEXT: # +; CHECK-32-NEXT: crxor 20, 20, 20 +; CHECK-32-NEXT: b .LBB0_4 +; CHECK-32-NEXT: .LBB0_6: # %atomicrmw.end ; CHECK-32-NEXT: fmr 1, 0 ; CHECK-32-NEXT: lwsync ; CHECK-32-NEXT: addi 1, 1, 32 |
