[PATCH] D28747: [X86] Don't create VBROADCAST nodes with 256-bit or 512-bit input types

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 19 06:57:26 PST 2017


RKSimon added inline comments.


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:5488
     // We only decode broadcasts of same-sized vectors at the moment.
-    if (N->getOperand(0).getValueType() == VT) {
+    if (N->getOperand(0).getValueType() == VT || FromExtract) {
       DecodeVectorBroadcast(VT, Mask);
----------------
craig.topper wrote:
> RKSimon wrote:
> > I've got the horrid feeling this will cause problems for combineX86ShufflesRecursively which decodes shuffles but at the moment asserts if the inputs are not the same size as the shuffle result itself.
> Does the fact that I put an node with the matching type into the Ops vector not help?
My mistake - yes that should work.


https://reviews.llvm.org/D28747





More information about the llvm-commits mailing list