Skip to content

Commit c4c99d8

Browse files
author
Leon Clark
committed
Address comments.
1 parent 25c5464 commit c4c99d8

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8793,29 +8793,28 @@ static SDValue lowerBuildVectorAsBlend(BuildVectorSDNode *BVOp, SDLoc const &DL,
87938793
MVT VT = BVOp->getSimpleValueType(0u);
87948794
auto const NumElems = VT.getVectorNumElements();
87958795

8796-
if (Subtarget.hasAVX() && VT == MVT::v4f64) {
8796+
if (VT == MVT::v4f64) {
87978797
// Collect unique operands.
87988798
auto UniqueOps = SmallSet<SDValue, 16u>();
8799-
for (auto &Op : BVOp->ops()) {
8800-
if (isIntOrFPConstant(Op) || Op.get()->isUndef())
8801-
return {};
8799+
for (SDValue Op : BVOp->ops()) {
8800+
if (isIntOrFPConstant(Op) || Op.isUndef())
8801+
return SDValue();
88028802
UniqueOps.insert(Op);
88038803
}
88048804
// Candidate BUILD_VECTOR must have 2 unique operands.
88058805
if (UniqueOps.size() != 2u)
8806-
return {};
8806+
return SDValue();
88078807
// Create shuffle mask.
8808-
auto Op0 = BVOp->getOperand(0u);
8809-
auto Mask = std::vector<int>();
8810-
Mask.reserve(NumElems);
8808+
SDValue Op0 = BVOp->getOperand(0u);
8809+
SmallVector<int, 16u> Mask(NumElems);
88118810
for (auto I = 0u; I < NumElems; ++I) {
8812-
auto &Op = BVOp->getOperand(I);
8813-
Mask.push_back(Op == Op0 ? I : I + NumElems);
8811+
SDValue Op = BVOp->getOperand(I);
8812+
Mask[I] = Op == Op0 ? I : I + NumElems;
88148813
}
88158814
// Create shuffle of splats.
8816-
UniqueOps.erase(Op0);
8817-
auto NewOp0 = DAG.getSplatBuildVector(VT, DL, Op0);
8818-
auto NewOp1 = DAG.getSplatBuildVector(VT, DL, *UniqueOps.begin());
8815+
8816+
SDValue NewOp0 = DAG.getSplatBuildVector(VT, DL, *UniqueOps.begin());
8817+
SDValue NewOp1 = DAG.getSplatBuildVector(VT, DL, *(++UniqueOps.begin()));
88198818
return DAG.getVectorShuffle(VT, DL, NewOp0, NewOp1, Mask);
88208819
}
88218820

0 commit comments

Comments
 (0)