[llvm] [DAG] isSplatValue - node is a splat if all demanded elts have the same whole constant value (PR #74443)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 5 05:04:40 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]
----------------
RKSimon wrote:
Its getting narrowed from mulps to mulss by scalarizeBinOpOfSplats
https://github.com/llvm/llvm-project/pull/74443
More information about the llvm-commits
mailing list