File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed
llvm/lib/Transforms/Vectorize Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -1032,10 +1032,13 @@ static void fixupOrderingIndices(MutableArrayRef<unsigned> Order) {
1032
1032
/// Opcode1.
1033
1033
SmallBitVector getAltInstrMask(ArrayRef<Value *> VL, unsigned Opcode0,
1034
1034
unsigned Opcode1) {
1035
- SmallBitVector OpcodeMask(VL.size(), false);
1035
+ Type *ScalarTy = VL[0]->getType();
1036
+ unsigned ScalarTyNumElements = getNumElements(ScalarTy);
1037
+ SmallBitVector OpcodeMask(VL.size() * ScalarTyNumElements, false);
1036
1038
for (unsigned Lane : seq<unsigned>(VL.size()))
1037
1039
if (cast<Instruction>(VL[Lane])->getOpcode() == Opcode1)
1038
- OpcodeMask.set(Lane);
1040
+ for (unsigned I = 0; I != ScalarTyNumElements; ++I)
1041
+ OpcodeMask.set(Lane * ScalarTyNumElements + I);
1039
1042
return OpcodeMask;
1040
1043
}
1041
1044
You can’t perform that action at this time.
0 commit comments