Lines Matching defs:OpVT

4413       EVT OpVT = Op.getValueType();
4414 unsigned NumSubElts = OpVT.getVectorNumElements() / NumSubs;
4415 unsigned SizeSub = OpVT.getSizeInBits() / NumSubs;
4433 auto MakeBroadcastOp = [&](SDValue Op, MVT OpVT, MVT DstVT) {
4434 unsigned OpEltSizeInBits = OpVT.getScalarSizeInBits();
4437 if (!OpVT.isInteger() || OpEltSizeInBits < 32 ||
4441 if (OpVT == DstVT && Op.getOpcode() != ISD::BITCAST)
4464 MVT OpVT = Op.getSimpleValueType();
4466 if (!OpVT.isVector())
4468 assert(OpVT == VT && "Vector type mismatch");
4470 if (SDValue BroadcastOp = MakeBroadcastOp(Op, OpVT, DstVT)) {
4505 MVT OpVT = Op.getSimpleValueType();
4506 unsigned NumElems = OpVT.getVectorNumElements();
4510 MVT WideOpVT = widenMaskVectorType(OpVT, Subtarget);
4519 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4542 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4552 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, SubVec, ZeroIdx);
4572 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, SubVec, ZeroIdx);
4596 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4623 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4651 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, SubVec, ZeroIdx);
4784 MVT OpVT = LHS.getSimpleValueType();
4787 assert(OpVT == RHS.getSimpleValueType() &&
4788 VT.getSizeInBits() == OpVT.getSizeInBits() &&
4789 (EltSizeInBits * 2) == OpVT.getScalarSizeInBits() &&
4825 LHS = DAG.getNode(X86ISD::VSRLI, dl, OpVT, LHS, Amt);
4826 RHS = DAG.getNode(X86ISD::VSRLI, dl, OpVT, RHS, Amt);
4828 SDValue Mask = DAG.getConstant((1ULL << EltSizeInBits) - 1, dl, OpVT);
4829 LHS = DAG.getNode(ISD::AND, dl, OpVT, LHS, Mask);
4830 RHS = DAG.getNode(ISD::AND, dl, OpVT, RHS, Mask);
4836 LHS = DAG.getNode(X86ISD::VSHLI, dl, OpVT, LHS, Amt);
4837 RHS = DAG.getNode(X86ISD::VSHLI, dl, OpVT, RHS, Amt);
4839 LHS = DAG.getNode(X86ISD::VSRAI, dl, OpVT, LHS, Amt);
4840 RHS = DAG.getNode(X86ISD::VSRAI, dl, OpVT, RHS, Amt);
17738 EVT OpVT = Op0.getValueType();
17739 if (OpVT.getScalarSizeInBits() >= 32 || isBroadcastShuffleMask(Mask))
17741 DL, VT, DAG.getVectorShuffle(OpVT, DL, Op0, DAG.getUNDEF(OpVT), Mask),
17742 DAG.getVectorShuffle(OpVT, DL, Op1, DAG.getUNDEF(OpVT), Mask), CC);
18785 MVT OpVT = Op.getSimpleValueType();
18790 return getZeroVector(OpVT, Subtarget, DAG, dl);
18794 if (!OpVT.is128BitVector()) {
18796 unsigned SizeFactor = OpVT.getSizeInBits() / 128;
18797 MVT VT128 = MVT::getVectorVT(OpVT.getVectorElementType(),
18798 OpVT.getVectorNumElements() / SizeFactor);
18803 return insert128BitVector(DAG.getUNDEF(OpVT), Op, 0, DAG, dl);
18805 assert(OpVT.is128BitVector() && OpVT.isInteger() && OpVT != MVT::v2i64 &&
18810 if (OpVT == MVT::v4i32 || (OpVT == MVT::v8i16 && Subtarget.hasFP16()))
18815 OpVT, DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v4i32, AnyExt));
22349 MVT OpVT = N0.getSimpleValueType();
22350 assert((OpVT == MVT::f32 || OpVT == MVT::f64) &&
22354 MVT VecVT = (OpVT == MVT::f32 ? MVT::v4f32 : MVT::v2f64);
22459 EVT OpVT = X.getValueType();
22460 unsigned OpSize = OpVT.getSizeInBits();
22461 if (!OpVT.isScalarInteger() || OpSize < 128)
23635 MVT OpVT = Op0.getSimpleValueType();
23638 if (OpVT.isFloatingPoint()) {
23639 MVT EltVT = OpVT.getVectorElementType();
23649 if (OpVT.is256BitVector() && !Subtarget.useAVX512Regs())
23653 if (OpVT.is512BitVector())
23656 MVT NVT = OpVT.changeVectorElementType(MVT::f32);
28686 MVT OpVT = VT;
28697 OpVT = MVT::i32;
28698 Op = DAG.getNode(ISD::ZERO_EXTEND, dl, OpVT, Op);
28702 SDValue PassThru = DAG.getUNDEF(OpVT);
28705 PassThru = DAG.getConstant(NumBits + NumBits - 1, dl, OpVT);
28708 SDVTList VTs = DAG.getVTList(OpVT, MVT::i32);
28714 SDValue Ops[] = {Op, DAG.getConstant(NumBits + NumBits - 1, dl, OpVT),
28717 Op = DAG.getNode(X86ISD::CMOV, dl, OpVT, Ops);
28721 Op = DAG.getNode(ISD::XOR, dl, OpVT, Op,
28722 DAG.getConstant(NumBits - 1, dl, OpVT));
33761 EVT OpVT = Op.getValueType();
33764 if (VT == MVT::v2i32 && OpVT == MVT::v2f64) {
41577 EVT OpVT = N0.getValueType();
41596 DAG.getNode(SrcOpcode, DL, OpVT,
41597 DAG.getBitcast(OpVT, LHS),
41598 DAG.getBitcast(OpVT, RHS)));
41602 OpVT.getScalarSizeInBits() ==
41610 return DAG.getBitcast(ShuffleVT, DAG.getNode(SrcOpcode, DL, OpVT, Res));
41661 EVT OpVT = N0.getValueType();
41663 DAG.getNode(SrcOpcode, DL, OpVT,
41664 DAG.getBitcast(OpVT, LHS),
41665 DAG.getBitcast(OpVT, RHS)));
41682 EVT OpVT = N0.getValueType();
41685 DAG.getNode(SrcOpcode, DL, OpVT, DAG.getBitcast(OpVT, Res)));
44222 MVT OpVT = Op0.getSimpleValueType();
44223 assert((OpVT.getVectorElementType() == MVT::f32 ||
44224 OpVT.getVectorElementType() == MVT::f64) &&
44229 APInt SignMask = APInt::getSignMask(OpVT.getScalarSizeInBits());
46090 EVT OpVT = Vec.getOperand(0).getValueType().getScalarType();
46091 if (OpVT != MVT::f32 && OpVT != MVT::f64)
46096 SDValue Ext0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, OpVT,
46098 SDValue Ext1 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, OpVT,
48044 MVT OpVT = Op0.getSimpleValueType();
48080 DAG.getBitcast(OpVT, NotOp0), Op1);
48090 EFLAGS.getOpcode(), DL, VT, DAG.getBitcast(OpVT, NotOp1),
48091 DAG.getBitcast(OpVT,
48103 SDValue X = DAG.getBitcast(OpVT, BC0.getOperand(0));
48114 DAG.getBitcast(OpVT, NotOp1), Op0);
48124 DAG.getBitcast(OpVT, BC.getOperand(0)),
48125 DAG.getBitcast(OpVT, BC.getOperand(1)));
48132 DAG.getBitcast(OpVT, BC.getOperand(0)),
48133 DAG.getBitcast(OpVT, BC.getOperand(1)));
48154 MVT::getVectorVT(FloatSVT, OpVT.getSizeInBits() / EltBits);
48183 if (CC == X86::COND_E && OpVT.is128BitVector() && Subtarget.hasAVX()) {
48192 MVT OpVT2 = OpVT.getDoubleNumVectorElementsVT();
49035 MVT OpVT = MVT::getVectorVT(MVT::i16, Ops[0].getValueSizeInBits() / 16);
49037 DAG.getBitcast(OpVT, Ops[0]),
49038 DAG.getBitcast(OpVT, Ops[1]));
51381 MVT OpVT =
51383 SDValue A = DAG.getBitcast(OpVT, N0.getOperand(1));
51384 SDValue B = DAG.getBitcast(OpVT, N0.getOperand(0));
51385 SDValue C = DAG.getBitcast(OpVT, N1.getOperand(0));
51387 SDValue Res = getAVX512Node(X86ISD::VPTERNLOG, DL, OpVT, {A, B, C, Imm},
54273 EVT OpVT = VT;
54277 OpVT = MVT::i32;
54278 Op = DAG.getNode(ISD::ZERO_EXTEND, DL, OpVT, Op);
54281 SDVTList VTs = DAG.getVTList(OpVT, MVT::i32);
54282 Op = DAG.getNode(X86ISD::BSR, DL, VTs, DAG.getUNDEF(OpVT), Op);
55472 static SDValue truncateAVX512SetCCNoBWI(EVT VT, EVT OpVT, SDValue LHS,
55478 (OpVT.getVectorElementType() == MVT::i8 ||
55479 OpVT.getVectorElementType() == MVT::i16)) {
55480 SDValue Setcc = DAG.getSetCC(DL, OpVT, LHS, RHS, CC);
55493 EVT OpVT = LHS.getValueType();
55508 if (OpVT.isScalarInteger()) {
55514 return DAG.getNode(ISD::AND, DL, OpVT, DAG.getNOT(DL, N1, OpVT),
55517 return DAG.getNode(ISD::AND, DL, OpVT, DAG.getNOT(DL, N1, OpVT),
55523 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
55525 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
55532 return DAG.getNode(ISD::AND, DL, OpVT, N1,
55533 DAG.getNOT(DL, N0.getOperand(1), OpVT));
55535 return DAG.getNode(ISD::AND, DL, OpVT, N1,
55536 DAG.getNOT(DL, N0.getOperand(0), OpVT));
55541 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
55543 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
55553 OpVT.getScalarSizeInBits());
55577 DL, VT, BaseOp, DAG.getConstant(-CInt, DL, OpVT), CC);
55624 if (VT.isVector() && OpVT.isVector() && OpVT.isInteger()) {
55681 if (SDValue R = truncateAVX512SetCCNoBWI(VT, OpVT, LHSOut, RHSOut,
55690 truncateAVX512SetCCNoBWI(VT, OpVT, LHS, RHS, CC, DL, DAG, Subtarget))
55707 if (VT.isVector() && OpVT.isVector() && OpVT.isInteger() &&
55710 (OpVT.getSizeInBits() <= 128 || !Subtarget.hasAVX() ||
55727 DAG.getTargetLoweringInfo().isOperationLegal(ISD::UMIN, OpVT)) {
55734 C0 = DAG.getNegative(AddC, DL, OpVT);
55735 C1 = DAG.getNode(ISD::SUB, DL, OpVT, C0,
55736 DAG.getAllOnesConstant(DL, OpVT));
55742 C0 = DAG.getNOT(DL, AddC, OpVT);
55743 C1 = DAG.getNode(ISD::ADD, DL, OpVT, C0,
55744 DAG.getAllOnesConstant(DL, OpVT));
55767 SDVTList FNegVT = DAG.getVTList(OpVT);
56548 EVT OpVT = Op.getValueType();
56550 APInt::getBitsSetFrom(OpVT.getSizeInBits(), VT.getSizeInBits());
56551 if (OpVT == MVT::i32 && DAG.MaskedValueIsZero(Op, UpperBits) &&
56554 DAG.getConstant(0, dl, OpVT));
56928 EVT OpVT = Ops[0].getValueType();
56929 assert(OpVT.getScalarType() == MVT::i16 &&
56931 assert(OpVT == Ops[1].getValueType() && "Operands' types mismatch");
56933 OpVT.getVectorNumElements() / 2);
56967 MVT OpVT = N0.getOperand(0).getSimpleValueType();
56968 APInt DemandedBits = APInt::getAllOnes(OpVT.getScalarSizeInBits());
56991 DAG.getVectorShuffle(OpVT, DL, N0.getOperand(0), N1.getOperand(0), Mask);
56993 DAG.getVectorShuffle(OpVT, DL, N0.getOperand(1), N1.getOperand(1), Mask);
57094 MVT OpVT = Op0.getOperand(1).getSimpleValueType();
57096 DAG.getNode(ISD::ADD, DL, OpVT, Op0.getOperand(0), Op1.getOperand(0));
57098 getZeroVector(OpVT, Subtarget, DAG, DL));
57660 MVT OpVT = Op0.getSimpleValueType();
57661 int NumSrcElts = OpVT.getVectorNumElements();
57686 MVT OpVT = Op0.getSimpleValueType();
57687 int NumSrcElts = OpVT.getVectorNumElements();
58152 MVT OpVT = N->getSimpleValueType(0);
58154 bool IsI1Vector = OpVT.getVectorElementType() == MVT::i1;
58164 return DAG.getUNDEF(OpVT);
58169 return getZeroVector(OpVT, Subtarget, DAG, dl);
58177 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT,
58178 getZeroVector(OpVT, Subtarget, DAG, dl),
58195 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT,
58196 getZeroVector(OpVT, Subtarget, DAG, dl),
58212 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT, Vec,
58218 SubVec.getOperand(0).getSimpleValueType() == OpVT &&
58223 int VecNumElts = OpVT.getVectorNumElements();
58233 return DAG.getVectorShuffle(OpVT, dl, Vec, SubVec.getOperand(0), Mask);
58241 combineConcatVectorOps(dl, OpVT, SubVectorOps, DAG, DCI, Subtarget))
58251 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT,
58252 getZeroVector(OpVT, Subtarget, DAG, dl),
58267 return DAG.getNode(X86ISD::VBROADCAST, dl, OpVT, SubVec.getOperand(0));
58274 SDVTList Tys = DAG.getVTList(OpVT, MVT::Other);
58286 if (IdxVal == (OpVT.getVectorNumElements() / 2) && SubVec.hasOneUse() &&
58293 return getBROADCAST_LOAD(X86ISD::SUBV_BROADCAST_LOAD, dl, OpVT, SubVecVT,
59622 EVT OpVT = SETCC0->getOperand(0).getValueType();
59628 (isOperationLegal(ISD::ABS, OpVT)