[PATCH] D60852: Fix for bug 41512: lower INSERT_VECTOR_ELT(ZeroVec, 0, Elt) to SCALAR_TO_VECTOR(Elt) for all SSE flavors

Serge Preis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 18 21:32:08 PDT 2019


Serge_Preis marked an inline comment as done.
Serge_Preis added inline comments.


================
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
----------------
spatel wrote:
> 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"
My change itself doen't dictate any particular instruction selection. it just makes more obvious to ISel the idiom it deals with. If some instructions are better than others for 1st element intialization they should be naturaly used after the fix. So I'm just happy to see confirmation here.


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