[llvm] [X86] Attempt to canonicalize vXf64 SHUFPD shuffle masks with undef elts to improve further folding (PR #116419)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 16 19:02:25 PST 2024


================
@@ -1667,13 +1667,13 @@ define <8 x float> @broadcast_v8f32_v2f32_u1uu0uEu(ptr %vp, <8 x float> %default
 ; X86:       # %bb.0:
 ; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; X86-NEXT:    vbroadcastsd (%eax), %ymm1
-; X86-NEXT:    vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]
+; X86-NEXT:    vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]
----------------
phoebewang wrote:

uops shows the TP of vunpckhpd is worse than vshufpd. Is this expected?

https://github.com/llvm/llvm-project/pull/116419


More information about the llvm-commits mailing list