[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