reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86ISelLowering.cpp
 9584   SDLoc dl(Op);
 9586   MVT VT = Op.getSimpleValueType();
 9588   unsigned NumElems = Op.getNumOperands();
 9592     return LowerBUILD_VECTORvXi1(Op, DAG, Subtarget);
 9594   if (SDValue VectorConstant = materializeVectorConstant(Op, DAG, Subtarget))
 9597   BuildVectorSDNode *BV = cast<BuildVectorSDNode>(Op.getNode());
 9616     SDValue Elt = Op.getOperand(i);
 9650     Type *EltType = Op.getValueType().getScalarType().getTypeForEVT(Context);
 9655       SDValue Elt = Op.getOperand(i);
 9700     SDValue Item = Op.getOperand(Idx);
 9733         X86::isZeroNode(Op.getOperand(0)) &&
 9734         !X86::isZeroNode(Op.getOperand(1))) {
 9738                                    VT, Op.getOperand(1)),
 9764       SDValue Item = Op.getOperand(Idx);
 9765       if (Op.getNode()->isOnlyUserOf(Item.getNode()))
 9776   if (SDValue V = LowerBUILD_VECTORAsVariablePermute(Op, DAG, Subtarget))
 9781     SmallVector<SDValue, 64> Ops(Op->op_begin(), Op->op_begin() + NumElems);
 9781     SmallVector<SDValue, 64> Ops(Op->op_begin(), Op->op_begin() + NumElems);
 9791     SDValue Ops[4] = { Op.getOperand(0), Op.getOperand(1),
 9791     SDValue Ops[4] = { Op.getOperand(0), Op.getOperand(1),
 9800     if (CanSplat(Op, NumElems, Ops)) {
 9820         DAG.getBuildVector(HVT, dl, Op->ops().slice(0, NumElems / 2));
 9822         HVT, dl, Op->ops().slice(NumElems / 2, NumElems /2));
 9834                                Op.getOperand(Idx));
 9842     if (SDValue V = LowerBuildVectorv16i8(Op, NonZeros, NumNonZero, NumZero,
 9847     if (SDValue V = LowerBuildVectorv8i16(Op, NonZeros, NumNonZero, NumZero,
 9853     if (SDValue V = LowerBuildVectorv4x32(Op, DAG, Subtarget))
 9864         Ops[i] = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Op.getOperand(i));
 9899   if (SDValue Sh = buildFromShuffleMostly(Op, DAG))
 9905     if (!Op.getOperand(0).isUndef())
 9906       Result = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Op.getOperand(0));
 9911       if (Op.getOperand(i).isUndef()) continue;
 9913                            Op.getOperand(i), DAG.getIntPtrConstant(i, dl));
 9923     if (!Op.getOperand(i).isUndef())
 9924       Ops[i] = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Op.getOperand(i));