[llvm] [DAG] isSplatValue - node is a splat if all demanded elts have the same whole constant value (PR #74443)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 5 04:43:32 PST 2023
================
@@ -138,7 +141,10 @@ define void @program_1(ptr %dest, ptr %t0, <4 x float> %p0, <4 x float> %p1, <4
; X64-NEXT: xorps %xmm0, %xmm0
; X64-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) ## 16-byte Spill
; X64-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 ## 16-byte Reload
-; X64-NEXT: mulps %xmm0, %xmm0
+; X64-NEXT: mulss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
+; X64-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) ## 16-byte Spill
+; X64-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 ## 16-byte Reload
+; X64-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0,0,0]
----------------
phoebewang wrote:
Is there any special in the element 0? I still not get how `mulss` generated.
https://github.com/llvm/llvm-project/pull/74443
More information about the llvm-commits
mailing list