[PATCH] D60852: Fix for bug 41512: lower INSERT_VECTOR_ELT(ZeroVec, 0, Elt) to SCALAR_TO_VECTOR(Elt) for all SSE flavors
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 18 12:11:07 PDT 2019
spatel added a comment.
This looks like the expected improvement to me, but given the 'blend' comment/test, I'd like someone else to confirm that I'm not overlooking some weird corner case.
================
Comment at: llvm/test/CodeGen/X86/insertelement-zero.ll:503
; FIXME: Prefer 'movd' over 'pinsr' to element 0.
----------------
Remove 'FIXME' from this line.
================
Comment at: llvm/test/CodeGen/X86/insertelement-zero.ll:633-635
; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm2[1,2,3]
; AVX-NEXT: vblendps {{.*#+}} xmm1 = xmm1[0],xmm2[1,2,3]
; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
----------------
I looked at this case, and it is intentional because there's a comment in X86InstrSSE.td:
"these were changed to use blends because blends have better throughput on sandybridge and haswell"
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60852/new/
https://reviews.llvm.org/D60852
More information about the llvm-commits
mailing list