summaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll
diff options
context:
space:
mode:
authorhstk30-hw <hanwei62@huawei.com>2025-11-23 10:11:24 +0800
committerGitHub <noreply@github.com>2025-11-23 10:11:24 +0800
commit0859ac5866a0228f5607dd329f83f4a9622dedcc (patch)
tree57f812060972c8684d1e16ce89381faf4c12a8b1 /llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll
parent0ef522ff68fff4266bf85e7b7a507a16a8fd34ee (diff)
[RegAlloc] Fix the terminal rule check for interfere with DstReg (#168661)
This maybe a bug which is introduced by commit 6749ae36b4a33769e7a77cf812d7cd0a908ae3b9, and has been present ever since. In this case, `OtherReg` always overlaps with `DstReg` cause they from the `Copy` all.
Diffstat (limited to 'llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll')
-rw-r--r--llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll30
1 files changed, 15 insertions, 15 deletions
diff --git a/llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll b/llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll
index aed3072bb4af..355adec955e4 100644
--- a/llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll
+++ b/llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll
@@ -25,14 +25,14 @@ define dso_local %"struct.std::complex" @complex_mul_v2f64(ptr %a, ptr %b) {
; CHECK-NEXT: ldp q3, q2, [x9]
; CHECK-NEXT: cmp x8, #1600
; CHECK-NEXT: ldp q5, q4, [x10]
-; CHECK-NEXT: fcmla v0.2d, v5.2d, v3.2d, #0
-; CHECK-NEXT: fcmla v1.2d, v4.2d, v2.2d, #0
-; CHECK-NEXT: fcmla v0.2d, v5.2d, v3.2d, #90
-; CHECK-NEXT: fcmla v1.2d, v4.2d, v2.2d, #90
+; CHECK-NEXT: fcmla v1.2d, v5.2d, v3.2d, #0
+; CHECK-NEXT: fcmla v0.2d, v4.2d, v2.2d, #0
+; CHECK-NEXT: fcmla v1.2d, v5.2d, v3.2d, #90
+; CHECK-NEXT: fcmla v0.2d, v4.2d, v2.2d, #90
; CHECK-NEXT: b.ne .LBB0_1
; CHECK-NEXT: // %bb.2: // %middle.block
-; CHECK-NEXT: zip2 v2.2d, v0.2d, v1.2d
-; CHECK-NEXT: zip1 v0.2d, v0.2d, v1.2d
+; CHECK-NEXT: zip2 v2.2d, v1.2d, v0.2d
+; CHECK-NEXT: zip1 v0.2d, v1.2d, v0.2d
; CHECK-NEXT: faddp d0, v0.2d
; CHECK-NEXT: faddp d1, v2.2d
; CHECK-NEXT: ret
@@ -159,20 +159,20 @@ define %"struct.std::complex" @complex_mul_v2f64_unrolled(ptr %a, ptr %b) {
; CHECK-NEXT: ldp q17, q16, [x8], #64
; CHECK-NEXT: ldp q19, q18, [x9], #64
; CHECK-NEXT: fcmla v2.2d, v7.2d, v5.2d, #0
-; CHECK-NEXT: fcmla v0.2d, v6.2d, v4.2d, #0
-; CHECK-NEXT: fcmla v1.2d, v19.2d, v17.2d, #0
+; CHECK-NEXT: fcmla v1.2d, v6.2d, v4.2d, #0
+; CHECK-NEXT: fcmla v0.2d, v19.2d, v17.2d, #0
; CHECK-NEXT: fcmla v3.2d, v18.2d, v16.2d, #0
; CHECK-NEXT: fcmla v2.2d, v7.2d, v5.2d, #90
-; CHECK-NEXT: fcmla v0.2d, v6.2d, v4.2d, #90
-; CHECK-NEXT: fcmla v1.2d, v19.2d, v17.2d, #90
+; CHECK-NEXT: fcmla v1.2d, v6.2d, v4.2d, #90
+; CHECK-NEXT: fcmla v0.2d, v19.2d, v17.2d, #90
; CHECK-NEXT: fcmla v3.2d, v18.2d, v16.2d, #90
; CHECK-NEXT: b.ne .LBB2_1
; CHECK-NEXT: // %bb.2: // %middle.block
-; CHECK-NEXT: zip2 v4.2d, v1.2d, v3.2d
-; CHECK-NEXT: zip1 v1.2d, v1.2d, v3.2d
-; CHECK-NEXT: zip2 v3.2d, v2.2d, v0.2d
-; CHECK-NEXT: zip1 v0.2d, v2.2d, v0.2d
-; CHECK-NEXT: fadd v0.2d, v1.2d, v0.2d
+; CHECK-NEXT: zip2 v4.2d, v0.2d, v3.2d
+; CHECK-NEXT: zip1 v0.2d, v0.2d, v3.2d
+; CHECK-NEXT: zip2 v3.2d, v2.2d, v1.2d
+; CHECK-NEXT: zip1 v1.2d, v2.2d, v1.2d
+; CHECK-NEXT: fadd v0.2d, v0.2d, v1.2d
; CHECK-NEXT: fadd v1.2d, v4.2d, v3.2d
; CHECK-NEXT: faddp d0, v0.2d
; CHECK-NEXT: faddp d1, v1.2d