[llvm] [X86] Remove restriction to pre-type legalization for combine in `scalarizeExtEltFP` (PR #117682)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 26 01:43:13 PST 2024


================
@@ -320,10 +320,18 @@ define <3 x double> @extvselectsetcc_crash(<2 x double> %x) {
 ; X64-LABEL: extvselectsetcc_crash:
 ; X64:       # %bb.0:
 ; X64-NEXT:    vcmpeqpd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
-; X64-NEXT:    vmovsd {{.*#+}} xmm2 = [1.0E+0,0.0E+0]
-; X64-NEXT:    vandpd %xmm2, %xmm1, %xmm1
-; X64-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm0
-; X64-NEXT:    vpermpd {{.*#+}} ymm0 = ymm0[0,2,3,3]
+; X64-NEXT:    vmovq   %xmm1, %rax
+; X64-NEXT:    testq   %rax, %rax
+; X64-NEXT:    jne     .{{\.?LBB[0-9]+_[0-9]+}}
+; X64-NEXT:  # %bb.2:
+; X64-NEXT:    vxorpd  %xmm1, %xmm1, %xmm1
+; X64-NEXT:    jmp     .{{\.?LBB[0-9]+_[0-9]+}}
+; X64-NEXT:  .{{\.?LBB[0-9]+_[0-9]+}}:
+; X64-NEXT:    vmovsd  {{.*#+}} xmm1 = [1.0E+0,0.0E+0]
+; X64-NEXT:  .{{\.?LBB[0-9]+_[0-9]+}}:
+; X64-NEXT:    vshufpd $1, %xmm0, %xmm0, %xmm2 # xmm2 = xmm0[1,0]
+; X64-NEXT:    vunpcklpd       %xmm0, %xmm1, %xmm0 # xmm0 = xmm1[0],xmm0[0]
+; X64-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm0
----------------
phoebewang wrote:

This looks regression to me.

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


More information about the llvm-commits mailing list