[PATCH] D123234: [X86] `lowerBuildVectorAsBroadcast()`: with AVX2, allow i64->XMM broadcasts from constant pool

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 7 07:11:25 PDT 2022


RKSimon added a comment.

In D123234#3435927 <https://reviews.llvm.org/D123234#3435927>, @lebedev.ri wrote:

> I see.
> Please confirm my understanding, you are suggesting that we should generalize `*SET0`/`*SETALLONES` pseudo-instructions
> into `MATERIALIZE` pseudo-instruction, with much the same handling of expanding it post-RA (`expandPostRAPseudo()`)?

I'm not sure if we'd want to handle them as pseudos, or have a pass that converts vector constant pool loads into broadcasts/materialization etc. in general. Handling AVX512 broadcast folds just makes it more difficult.

All of this needs to be done in conjunction with the foldMemoryOperand stages, and I haven't investigated it much as to how to deal with it all.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123234/new/

https://reviews.llvm.org/D123234



More information about the llvm-commits mailing list