Lines Matching defs:OpVT
4249 EVT OpVT = Op.getValueType();
4250 unsigned NumSubElts = OpVT.getVectorNumElements() / NumSubs;
4251 unsigned SizeSub = OpVT.getSizeInBits() / NumSubs;
4269 auto MakeBroadcastOp = [&](SDValue Op, MVT OpVT, MVT DstVT) {
4270 unsigned OpEltSizeInBits = OpVT.getScalarSizeInBits();
4273 if (!OpVT.isInteger() || OpEltSizeInBits < 32 ||
4277 if (OpVT == DstVT && Op.getOpcode() != ISD::BITCAST)
4300 MVT OpVT = Op.getSimpleValueType();
4302 if (!OpVT.isVector())
4304 assert(OpVT == VT && "Vector type mismatch");
4306 if (SDValue BroadcastOp = MakeBroadcastOp(Op, OpVT, DstVT)) {
4341 MVT OpVT = Op.getSimpleValueType();
4342 unsigned NumElems = OpVT.getVectorNumElements();
4346 MVT WideOpVT = widenMaskVectorType(OpVT, Subtarget);
4355 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4378 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4388 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, SubVec, ZeroIdx);
4408 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, SubVec, ZeroIdx);
4432 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4459 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, Op, ZeroIdx);
4487 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OpVT, SubVec, ZeroIdx);
4620 MVT OpVT = LHS.getSimpleValueType();
4623 assert(OpVT == RHS.getSimpleValueType() &&
4624 VT.getSizeInBits() == OpVT.getSizeInBits() &&
4625 (EltSizeInBits * 2) == OpVT.getScalarSizeInBits() &&
4661 LHS = DAG.getNode(X86ISD::VSRLI, dl, OpVT, LHS, Amt);
4662 RHS = DAG.getNode(X86ISD::VSRLI, dl, OpVT, RHS, Amt);
4664 SDValue Mask = DAG.getConstant((1ULL << EltSizeInBits) - 1, dl, OpVT);
4665 LHS = DAG.getNode(ISD::AND, dl, OpVT, LHS, Mask);
4666 RHS = DAG.getNode(ISD::AND, dl, OpVT, RHS, Mask);
4672 LHS = DAG.getNode(X86ISD::VSHLI, dl, OpVT, LHS, Amt);
4673 RHS = DAG.getNode(X86ISD::VSHLI, dl, OpVT, RHS, Amt);
4675 LHS = DAG.getNode(X86ISD::VSRAI, dl, OpVT, LHS, Amt);
4676 RHS = DAG.getNode(X86ISD::VSRAI, dl, OpVT, RHS, Amt);
17431 EVT OpVT = Op0.getValueType();
17432 if (OpVT.getScalarSizeInBits() >= 32 || isBroadcastShuffleMask(Mask))
17434 DL, VT, DAG.getVectorShuffle(OpVT, DL, Op0, DAG.getUNDEF(OpVT), Mask),
17435 DAG.getVectorShuffle(OpVT, DL, Op1, DAG.getUNDEF(OpVT), Mask), CC);
18416 MVT OpVT = Op.getSimpleValueType();
18421 return getZeroVector(OpVT, Subtarget, DAG, dl);
18425 if (!OpVT.is128BitVector()) {
18427 unsigned SizeFactor = OpVT.getSizeInBits() / 128;
18428 MVT VT128 = MVT::getVectorVT(OpVT.getVectorElementType(),
18429 OpVT.getVectorNumElements() / SizeFactor);
18434 return insert128BitVector(DAG.getUNDEF(OpVT), Op, 0, DAG, dl);
18436 assert(OpVT.is128BitVector() && OpVT.isInteger() && OpVT != MVT::v2i64 &&
18441 if (OpVT == MVT::v4i32 || (OpVT == MVT::v8i16 && Subtarget.hasFP16()))
18446 OpVT, DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v4i32, AnyExt));
21966 MVT OpVT = N0.getSimpleValueType();
21967 assert((OpVT == MVT::f32 || OpVT == MVT::f64) &&
21971 MVT VecVT = (OpVT == MVT::f32 ? MVT::v4f32 : MVT::v2f64);
22076 EVT OpVT = X.getValueType();
22077 unsigned OpSize = OpVT.getSizeInBits();
22078 if (!OpVT.isScalarInteger() || OpSize < 128)
28057 MVT OpVT = VT;
28068 OpVT = MVT::i32;
28069 Op = DAG.getNode(ISD::ZERO_EXTEND, dl, OpVT, Op);
28073 SDVTList VTs = DAG.getVTList(OpVT, MVT::i32);
28078 SDValue Ops[] = {Op, DAG.getConstant(NumBits + NumBits - 1, dl, OpVT),
28081 Op = DAG.getNode(X86ISD::CMOV, dl, OpVT, Ops);
28085 Op = DAG.getNode(ISD::XOR, dl, OpVT, Op,
28086 DAG.getConstant(NumBits - 1, dl, OpVT));
40550 EVT OpVT = N0.getValueType();
40552 DAG.getNode(SrcOpcode, DL, OpVT,
40553 DAG.getBitcast(OpVT, LHS),
40554 DAG.getBitcast(OpVT, RHS)));
40606 EVT OpVT = N0.getValueType();
40608 DAG.getNode(SrcOpcode, DL, OpVT,
40609 DAG.getBitcast(OpVT, LHS),
40610 DAG.getBitcast(OpVT, RHS)));
40627 EVT OpVT = N0.getValueType();
40630 DAG.getNode(SrcOpcode, DL, OpVT, DAG.getBitcast(OpVT, Res)));
43052 MVT OpVT = Op0.getSimpleValueType();
43053 assert((OpVT.getVectorElementType() == MVT::f32 ||
43054 OpVT.getVectorElementType() == MVT::f64) &&
43059 APInt SignMask = APInt::getSignMask(OpVT.getScalarSizeInBits());
44903 EVT OpVT = Vec.getOperand(0).getValueType().getScalarType();
44904 if (OpVT != MVT::f32 && OpVT != MVT::f64)
44909 SDValue Ext0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, OpVT,
44911 SDValue Ext1 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, OpVT,
46832 MVT OpVT = Op0.getSimpleValueType();
46868 DAG.getBitcast(OpVT, NotOp0), Op1);
46878 EFLAGS.getOpcode(), DL, VT, DAG.getBitcast(OpVT, NotOp1),
46879 DAG.getBitcast(OpVT,
46890 DAG.getBitcast(OpVT, NotOp1), Op0);
46900 DAG.getBitcast(OpVT, BC.getOperand(0)),
46901 DAG.getBitcast(OpVT, BC.getOperand(1)));
46908 DAG.getBitcast(OpVT, BC.getOperand(0)),
46909 DAG.getBitcast(OpVT, BC.getOperand(1)));
46930 MVT::getVectorVT(FloatSVT, OpVT.getSizeInBits() / EltBits);
46959 if (CC == X86::COND_E && OpVT.is128BitVector() && Subtarget.hasAVX()) {
46968 MVT OpVT2 = OpVT.getDoubleNumVectorElementsVT();
47814 MVT OpVT = MVT::getVectorVT(MVT::i16, Ops[0].getValueSizeInBits() / 16);
47816 DAG.getBitcast(OpVT, Ops[0]),
47817 DAG.getBitcast(OpVT, Ops[1]));
50163 MVT OpVT =
50165 SDValue A = DAG.getBitcast(OpVT, N0.getOperand(1));
50166 SDValue B = DAG.getBitcast(OpVT, N0.getOperand(0));
50167 SDValue C = DAG.getBitcast(OpVT, N1.getOperand(0));
50169 SDValue Res = getAVX512Node(X86ISD::VPTERNLOG, DL, OpVT, {A, B, C, Imm},
53025 EVT OpVT = VT;
53029 OpVT = MVT::i32;
53030 Op = DAG.getNode(ISD::ZERO_EXTEND, DL, OpVT, Op);
53033 SDVTList VTs = DAG.getVTList(OpVT, MVT::i32);
54190 static SDValue truncateAVX512SetCCNoBWI(EVT VT, EVT OpVT, SDValue LHS,
54196 (OpVT.getVectorElementType() == MVT::i8 ||
54197 OpVT.getVectorElementType() == MVT::i16)) {
54198 SDValue Setcc = DAG.getSetCC(DL, OpVT, LHS, RHS, CC);
54211 EVT OpVT = LHS.getValueType();
54226 if (OpVT.isScalarInteger()) {
54232 return DAG.getNode(ISD::AND, DL, OpVT, DAG.getNOT(DL, N1, OpVT),
54235 return DAG.getNode(ISD::AND, DL, OpVT, DAG.getNOT(DL, N1, OpVT),
54241 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
54243 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
54250 return DAG.getNode(ISD::AND, DL, OpVT, N1,
54251 DAG.getNOT(DL, N0.getOperand(1), OpVT));
54253 return DAG.getNode(ISD::AND, DL, OpVT, N1,
54254 DAG.getNOT(DL, N0.getOperand(0), OpVT));
54259 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
54261 return DAG.getSetCC(DL, VT, AndN, DAG.getConstant(0, DL, OpVT), CC);
54271 OpVT.getScalarSizeInBits());
54295 DL, VT, BaseOp, DAG.getConstant(-CInt, DL, OpVT), CC);
54342 if (VT.isVector() && OpVT.isVector() && OpVT.isInteger()) {
54399 if (SDValue R = truncateAVX512SetCCNoBWI(VT, OpVT, LHSOut, RHSOut,
54408 truncateAVX512SetCCNoBWI(VT, OpVT, LHS, RHS, CC, DL, DAG, Subtarget))
54425 if (VT.isVector() && OpVT.isVector() && OpVT.isInteger() &&
54428 (OpVT.getSizeInBits() <= 128 || !Subtarget.hasAVX() ||
54445 DAG.getTargetLoweringInfo().isOperationLegal(ISD::UMIN, OpVT)) {
54452 C0 = DAG.getNegative(AddC, DL, OpVT);
54453 C1 = DAG.getNode(ISD::SUB, DL, OpVT, C0,
54454 DAG.getAllOnesConstant(DL, OpVT));
54460 C0 = DAG.getNOT(DL, AddC, OpVT);
54461 C1 = DAG.getNode(ISD::ADD, DL, OpVT, C0,
54462 DAG.getAllOnesConstant(DL, OpVT));
54485 SDVTList FNegVT = DAG.getVTList(OpVT);
55239 EVT OpVT = Op.getValueType();
55241 APInt::getBitsSetFrom(OpVT.getSizeInBits(), VT.getSizeInBits());
55242 if (OpVT == MVT::i32 && DAG.MaskedValueIsZero(Op, UpperBits) &&
55245 DAG.getConstant(0, dl, OpVT));
55637 EVT OpVT = Ops[0].getValueType();
55638 assert(OpVT.getScalarType() == MVT::i16 &&
55640 assert(OpVT == Ops[1].getValueType() && "Operands' types mismatch");
55642 OpVT.getVectorNumElements() / 2);
55676 MVT OpVT = N0.getOperand(0).getSimpleValueType();
55677 APInt DemandedBits = APInt::getAllOnes(OpVT.getScalarSizeInBits());
55700 DAG.getVectorShuffle(OpVT, DL, N0.getOperand(0), N1.getOperand(0), Mask);
55702 DAG.getVectorShuffle(OpVT, DL, N0.getOperand(1), N1.getOperand(1), Mask);
55803 MVT OpVT = Op0.getOperand(1).getSimpleValueType();
55805 DAG.getNode(ISD::ADD, DL, OpVT, Op0.getOperand(0), Op1.getOperand(0));
55807 getZeroVector(OpVT, Subtarget, DAG, DL));
56311 MVT OpVT = Op0.getSimpleValueType();
56312 int NumSrcElts = OpVT.getVectorNumElements();
56337 MVT OpVT = Op0.getSimpleValueType();
56338 int NumSrcElts = OpVT.getVectorNumElements();
56782 MVT OpVT = N->getSimpleValueType(0);
56784 bool IsI1Vector = OpVT.getVectorElementType() == MVT::i1;
56794 return DAG.getUNDEF(OpVT);
56799 return getZeroVector(OpVT, Subtarget, DAG, dl);
56807 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT,
56808 getZeroVector(OpVT, Subtarget, DAG, dl),
56825 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT,
56826 getZeroVector(OpVT, Subtarget, DAG, dl),
56842 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT, Vec,
56848 SubVec.getOperand(0).getSimpleValueType() == OpVT &&
56853 int VecNumElts = OpVT.getVectorNumElements();
56863 return DAG.getVectorShuffle(OpVT, dl, Vec, SubVec.getOperand(0), Mask);
56871 combineConcatVectorOps(dl, OpVT, SubVectorOps, DAG, DCI, Subtarget))
56881 return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, OpVT,
56882 getZeroVector(OpVT, Subtarget, DAG, dl),
56897 return DAG.getNode(X86ISD::VBROADCAST, dl, OpVT, SubVec.getOperand(0));
56904 SDVTList Tys = DAG.getVTList(OpVT, MVT::Other);
56916 if (IdxVal == (OpVT.getVectorNumElements() / 2) && SubVec.hasOneUse() &&
56923 return getBROADCAST_LOAD(X86ISD::SUBV_BROADCAST_LOAD, dl, OpVT, SubVecVT,
58024 EVT OpVT = SETCC0->getOperand(0).getValueType();
58030 (isOperationLegal(ISD::ABS, OpVT)