[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
Sun Jan 15 12:16:30 PST 2017
RKSimon added a comment.
I think we've spoken in the past of splitting broadcast (and subvector broadcast) into memory and register opcode variants.
================
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);
----------------
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.
================
Comment at: test/CodeGen/X86/widened-broadcast.ll:128
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
; AVX1-NEXT: retq
;
----------------
Any idea why AVX1 fails?
https://reviews.llvm.org/D28747
More information about the llvm-commits
mailing list