Skip to content

Commit 1dadc11

Browse files
author
Leon Clark
committed
Address comments.
1 parent 1016286 commit 1dadc11

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
@@ -8753,29 +8753,28 @@ static SDValue lowerBuildVectorAsBlend(BuildVectorSDNode *BVOp, SDLoc const &DL,
87538753
MVT VT = BVOp->getSimpleValueType(0u);
87548754
auto const NumElems = VT.getVectorNumElements();
87558755

8756-
if (Subtarget.hasAVX() && VT == MVT::v4f64) {
8756+
if (VT == MVT::v4f64) {
87578757
// Collect unique operands.
87588758
auto UniqueOps = SmallSet<SDValue, 16u>();
8759-
for (auto &Op : BVOp->ops()) {
8760-
if (isIntOrFPConstant(Op) || Op.get()->isUndef())
8761-
return {};
8759+
for (SDValue Op : BVOp->ops()) {
8760+
if (isIntOrFPConstant(Op) || Op.isUndef())
8761+
return SDValue();
87628762
UniqueOps.insert(Op);
87638763
}
87648764
// Candidate BUILD_VECTOR must have 2 unique operands.
87658765
if (UniqueOps.size() != 2u)
8766-
return {};
8766+
return SDValue();
87678767
// Create shuffle mask.
8768-
auto Op0 = BVOp->getOperand(0u);
8769-
auto Mask = std::vector<int>();
8770-
Mask.reserve(NumElems);
8768+
SDValue Op0 = BVOp->getOperand(0u);
8769+
SmallVector<int, 16u> Mask(NumElems);
87718770
for (auto I = 0u; I < NumElems; ++I) {
8772-
auto &Op = BVOp->getOperand(I);
8773-
Mask.push_back(Op == Op0 ? I : I + NumElems);
8771+
SDValue Op = BVOp->getOperand(I);
8772+
Mask[I] = Op == Op0 ? I : I + NumElems;
87748773
}
87758774
// Create shuffle of splats.
8776-
UniqueOps.erase(Op0);
8777-
auto NewOp0 = DAG.getSplatBuildVector(VT, DL, Op0);
8778-
auto NewOp1 = DAG.getSplatBuildVector(VT, DL, *UniqueOps.begin());
8775+
8776+
SDValue NewOp0 = DAG.getSplatBuildVector(VT, DL, *UniqueOps.begin());
8777+
SDValue NewOp1 = DAG.getSplatBuildVector(VT, DL, *(++UniqueOps.begin()));
87798778
return DAG.getVectorShuffle(VT, DL, NewOp0, NewOp1, Mask);
87808779
}
87818780

0 commit comments

Comments
 (0)