[llvm] [AArch64][GlobalISel] Combine G_EXTRACT_VECTOR_ELT and G_BUILD_VECTOR sequences into G_SHUFFLE_VECTOR (PR #110545)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 11 05:53:05 PDT 2024
================
@@ -397,13 +397,10 @@ define void @test_vrev64(ptr nocapture %source, ptr nocapture %dst) nounwind ssp
;
; CHECK-GI-LABEL: test_vrev64:
; CHECK-GI: // %bb.0: // %entry
-; CHECK-GI-NEXT: adrp x8, .LCPI27_0
; CHECK-GI-NEXT: ldr q0, [x0]
-; CHECK-GI-NEXT: ldr q2, [x8, :lo12:.LCPI27_0]
-; CHECK-GI-NEXT: tbl.16b v0, { v0, v1 }, v2
-; CHECK-GI-NEXT: mov h1, v0[1]
-; CHECK-GI-NEXT: str h0, [x1]
-; CHECK-GI-NEXT: str h1, [x1, #2]
+; CHECK-GI-NEXT: add x8, x1, #2
+; CHECK-GI-NEXT: st1.h { v0 }[6], [x1]
+; CHECK-GI-NEXT: st1.h { v0 }[5], [x8]
----------------
ValentijnvdBeek wrote:
This is inline with @aemerson comment about `tbl`, it no longer turns non-optimizable sequences into shufflevectors so it keeps previous iteration of the code.
https://github.com/llvm/llvm-project/pull/110545
More information about the llvm-commits
mailing list