Lines Matching refs:DstVT

6670   auto MakeBroadcastOp = [&](SDValue Op, MVT OpVT, MVT DstVT) {  in getAVX512Node()  argument
6678 if (OpVT == DstVT && Op.getOpcode() != ISD::BITCAST) in getAVX512Node()
6687 return DAG.getConstant(SplatValue, DL, DstVT); in getAVX512Node()
6694 MVT DstVT = VT; in getAVX512Node() local
6696 DstVT = MVT::getVectorVT(SVT, 512 / SVT.getSizeInBits()); in getAVX512Node()
6707 if (SDValue BroadcastOp = MakeBroadcastOp(Op, OpVT, DstVT)) { in getAVX512Node()
6717 SDValue Res = DAG.getNode(Opcode, DL, DstVT, SrcOps); in getAVX512Node()
12275 static bool matchShuffleAsVTRUNC(MVT &SrcVT, MVT &DstVT, MVT VT, in matchShuffleAsVTRUNC() argument
12297 DstVT = MVT::getIntegerVT(EltSizeInBits); in matchShuffleAsVTRUNC()
12300 DstVT = MVT::getVectorVT(DstVT, NumSrcElts); in matchShuffleAsVTRUNC()
12303 DstVT = MVT::getVectorVT(DstVT, 128 / EltSizeInBits); in matchShuffleAsVTRUNC()
12313 static SDValue getAVX512TruncNode(const SDLoc &DL, MVT DstVT, SDValue Src, in getAVX512TruncNode() argument
12317 MVT DstSVT = DstVT.getScalarType(); in getAVX512TruncNode()
12318 unsigned NumDstElts = DstVT.getVectorNumElements(); in getAVX512TruncNode()
12320 unsigned DstEltSizeInBits = DstVT.getScalarSizeInBits(); in getAVX512TruncNode()
12327 return DAG.getNode(ISD::TRUNCATE, DL, DstVT, Src); in getAVX512TruncNode()
12332 return extractSubVector(Trunc, 0, DAG, DL, DstVT.getSizeInBits()); in getAVX512TruncNode()
12339 DstVT.getSizeInBits()); in getAVX512TruncNode()
12346 return getAVX512TruncNode(DL, DstVT, NewSrc, Subtarget, DAG, ZeroUppers); in getAVX512TruncNode()
12352 if (DstVT != TruncVT) in getAVX512TruncNode()
12354 DstVT.getSizeInBits()); in getAVX512TruncNode()
12647 MVT DstVT = MVT::getVectorVT(DstSVT, NumSrcElts * 2); in lowerShuffleWithPACK() local
12648 Res = DAG.getNode(PackOpcode, DL, DstVT, DAG.getBitcast(SrcVT, V1), in lowerShuffleWithPACK()
21087 EVT DstVT, EVT SrcVT, const SDLoc &DL, SDValue Chain, SDValue Pointer, in BuildFILD() argument
21091 bool useSSE = isScalarFPTypeInSSEReg(DstVT); in BuildFILD()
21095 Tys = DAG.getVTList(DstVT, MVT::Other); in BuildFILD()
21105 unsigned SSFISize = DstVT.getStoreSize(); in BuildFILD()
21117 DAG.getMemIntrinsicNode(X86ISD::FST, DL, Tys, FSTOps, DstVT, StoreMMO); in BuildFILD()
21119 DstVT, DL, Chain, StackSlot, in BuildFILD()
21496 MVT DstVT = Op->getSimpleValueType(0); in LowerUINT_TO_FP() local
21500 if (DstVT == MVT::f128) in LowerUINT_TO_FP()
21503 if (isSoftFP16(DstVT)) in LowerUINT_TO_FP()
21508 if (DstVT.isVector()) in LowerUINT_TO_FP()
21517 if (Subtarget.hasAVX512() && isScalarFPTypeInSSEReg(DstVT) && in LowerUINT_TO_FP()
21528 return DAG.getNode(ISD::STRICT_SINT_TO_FP, dl, {DstVT, MVT::Other}, in LowerUINT_TO_FP()
21530 return DAG.getNode(ISD::SINT_TO_FP, dl, DstVT, Src); in LowerUINT_TO_FP()
21540 if (SrcVT == MVT::i64 && DstVT == MVT::f64 && Subtarget.hasSSE2() && in LowerUINT_TO_FP()
21545 if (SrcVT == MVT::i32 && Subtarget.hasSSE2() && DstVT != MVT::f80 && in LowerUINT_TO_FP()
21549 (DstVT == MVT::f32 || DstVT == MVT::f64)) in LowerUINT_TO_FP()
21565 BuildFILD(DstVT, MVT::i64, dl, Store2, StackSlot, MPI, SlotAlign, DAG); in LowerUINT_TO_FP()
21622 if (DstVT == MVT::f80) in LowerUINT_TO_FP()
21624 return DAG.getNode(ISD::STRICT_FP_ROUND, dl, {DstVT, MVT::Other}, in LowerUINT_TO_FP()
21628 return DAG.getNode(ISD::FP_ROUND, dl, DstVT, Add, in LowerUINT_TO_FP()
21943 static SDValue truncateVectorWithPACK(unsigned Opcode, EVT DstVT, SDValue In, in truncateVectorWithPACK() argument
21948 assert(DstVT.isVector() && "VT not a vector?"); in truncateVectorWithPACK()
21957 if (SrcVT == DstVT) in truncateVectorWithPACK()
21962 unsigned DstSizeInBits = DstVT.getSizeInBits(); in truncateVectorWithPACK()
21972 assert(DstVT.getVectorNumElements() == NumElems && "Illegal truncation"); in truncateVectorWithPACK()
21993 return DAG.getBitcast(DstVT, Res); in truncateVectorWithPACK()
22005 if (SrcVT.is256BitVector() && DstVT.is128BitVector()) { in truncateVectorWithPACK()
22009 return DAG.getBitcast(DstVT, Res); in truncateVectorWithPACK()
22027 if (DstVT.is256BitVector()) in truncateVectorWithPACK()
22028 return DAG.getBitcast(DstVT, Res); in truncateVectorWithPACK()
22033 return truncateVectorWithPACK(Opcode, DstVT, Res, DL, DAG, Subtarget); in truncateVectorWithPACK()
22044 return truncateVectorWithPACK(Opcode, DstVT, Res, DL, DAG, Subtarget); in truncateVectorWithPACK()
22689 EVT DstVT = N->getValueType(0); in LRINT_LLRINTHelper() local
22706 EVT OtherVT = UseSSE ? SrcVT : DstVT; in LRINT_LLRINTHelper()
22707 SDValue StackPtr = DAG.CreateStackTemporary(DstVT, OtherVT); in LRINT_LLRINTHelper()
22713 assert(DstVT == MVT::i64 && "Invalid LRINT/LLRINT to lower!"); in LRINT_LLRINTHelper()
22725 StoreOps, DstVT, MPI, /*Align*/ None, in LRINT_LLRINTHelper()
22728 return DAG.getLoad(DstVT, DL, Chain, StackPtr, MPI); in LRINT_LLRINTHelper()
22746 EVT DstVT = Node->getValueType(0); in LowerFP_TO_INT_SAT() local
22747 EVT TmpVT = DstVT; in LowerFP_TO_INT_SAT()
22756 unsigned DstWidth = DstVT.getScalarSizeInBits(); in LowerFP_TO_INT_SAT()
22806 if (DstVT != TmpVT) { in LowerFP_TO_INT_SAT()
22818 return DAG.getNode(ISD::TRUNCATE, dl, DstVT, FpToInt); in LowerFP_TO_INT_SAT()
22828 SDValue FpToInt = DAG.getNode(FpToIntOpcode, dl, DstVT, BothClamped); in LowerFP_TO_INT_SAT()
22837 SDValue ZeroInt = DAG.getConstant(0, dl, DstVT); in LowerFP_TO_INT_SAT()
22842 SDValue MinIntNode = DAG.getConstant(MinInt, dl, DstVT); in LowerFP_TO_INT_SAT()
22843 SDValue MaxIntNode = DAG.getConstant(MaxInt, dl, DstVT); in LowerFP_TO_INT_SAT()
22848 if (DstVT != TmpVT) { in LowerFP_TO_INT_SAT()
22851 FpToInt = DAG.getNode(ISD::TRUNCATE, dl, DstVT, FpToInt); in LowerFP_TO_INT_SAT()
22871 if (!IsSigned || DstVT != TmpVT) { in LowerFP_TO_INT_SAT()
22876 SDValue ZeroInt = DAG.getConstant(0, dl, DstVT); in LowerFP_TO_INT_SAT()
31229 MVT DstVT = Op.getSimpleValueType(); in LowerBITCAST() local
31233 if (SrcVT == MVT::i64 && DstVT == MVT::v64i1) { in LowerBITCAST()
31247 if ((SrcVT == MVT::v16i1 || SrcVT == MVT::v32i1) && DstVT.isScalarInteger()) { in LowerBITCAST()
31253 return DAG.getZExtOrTrunc(V, DL, DstVT); in LowerBITCAST()
31260 if (!(DstVT == MVT::f64 && SrcVT == MVT::i64) && in LowerBITCAST()
31261 !(DstVT == MVT::x86mmx && SrcVT.isVector())) in LowerBITCAST()
31279 MVT V2X64VT = DstVT == MVT::f64 ? MVT::v2f64 : MVT::v2i64; in LowerBITCAST()
31282 if (DstVT == MVT::x86mmx) in LowerBITCAST()
31283 return DAG.getNode(X86ISD::MOVDQ2Q, dl, DstVT, Src); in LowerBITCAST()
31285 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, DstVT, Src, in LowerBITCAST()
32161 MVT DstVT = Op.getSimpleValueType(); in LowerADDRSPACECAST() local
32169 if (SrcAS == X86AS::PTR32_UPTR && DstVT == MVT::i64) { in LowerADDRSPACECAST()
32170 Op = DAG.getNode(ISD::ZERO_EXTEND, dl, DstVT, Src); in LowerADDRSPACECAST()
32171 } else if (DstVT == MVT::i64) { in LowerADDRSPACECAST()
32172 Op = DAG.getNode(ISD::SIGN_EXTEND, dl, DstVT, Src); in LowerADDRSPACECAST()
32173 } else if (DstVT == MVT::i32) { in LowerADDRSPACECAST()
32174 Op = DAG.getNode(ISD::TRUNCATE, dl, DstVT, Src); in LowerADDRSPACECAST()
33326 EVT DstVT = N->getValueType(0); in ReplaceNodeResults() local
33331 if (SrcVT == MVT::v64i1 && DstVT == MVT::i64 && Subtarget.hasBWI()) { in ReplaceNodeResults()
33342 if (DstVT.isVector() && SrcVT == MVT::x86mmx) { in ReplaceNodeResults()
33345 assert(getTypeAction(*DAG.getContext(), DstVT) == TypeWidenVector && in ReplaceNodeResults()
33347 EVT WideVT = getTypeToTransformTo(*DAG.getContext(), DstVT); in ReplaceNodeResults()
37256 MVT &SrcVT, MVT &DstVT) { in matchUnaryShuffle() argument
37268 SrcVT = DstVT = MaskVT.changeVectorElementType(MVT::f16); in matchUnaryShuffle()
37270 SrcVT = DstVT = !Subtarget.hasSSE2() ? MVT::v4f32 : MaskVT; in matchUnaryShuffle()
37303 DstVT = MVT::getIntegerVT(Scale * MaskEltSize); in matchUnaryShuffle()
37304 DstVT = MVT::getVectorVT(DstVT, NumDstElts); in matchUnaryShuffle()
37317 SrcVT = DstVT = MaskVT.changeVectorElementType(MVT::f16); in matchUnaryShuffle()
37319 SrcVT = DstVT = !Subtarget.hasSSE2() ? MVT::v4f32 : MaskVT; in matchUnaryShuffle()
37329 SrcVT = DstVT = MVT::v2f64; in matchUnaryShuffle()
37334 SrcVT = DstVT = MVT::v4f32; in matchUnaryShuffle()
37339 SrcVT = DstVT = MVT::v4f32; in matchUnaryShuffle()
37348 SrcVT = DstVT = MVT::v4f64; in matchUnaryShuffle()
37354 SrcVT = DstVT = MVT::v8f32; in matchUnaryShuffle()
37360 SrcVT = DstVT = MVT::v8f32; in matchUnaryShuffle()
37371 SrcVT = DstVT = MVT::v8f64; in matchUnaryShuffle()
37378 SrcVT = DstVT = MVT::v16f32; in matchUnaryShuffle()
37385 SrcVT = DstVT = MVT::v16f32; in matchUnaryShuffle()
37537 unsigned &Shuffle, MVT &SrcVT, MVT &DstVT, in matchBinaryShuffle() argument
37549 SrcVT = DstVT = Subtarget.hasSSE2() ? MVT::v2f64 : MVT::v4f32; in matchBinaryShuffle()
37556 SrcVT = DstVT = Subtarget.hasSSE2() ? MVT::v2f64 : MVT::v4f32; in matchBinaryShuffle()
37563 SrcVT = DstVT = MVT::v2f64; in matchBinaryShuffle()
37569 SrcVT = DstVT = MVT::v4f32; in matchBinaryShuffle()
37576 SrcVT = DstVT = MVT::v8f16; in matchBinaryShuffle()
37587 DstVT = MaskVT; in matchBinaryShuffle()
37600 SrcVT = DstVT = MaskVT; in matchBinaryShuffle()
37602 SrcVT = DstVT = (32 == EltSizeInBits ? MVT::v8f32 : MVT::v4f64); in matchBinaryShuffle()
37645 SrcVT = DstVT = MaskVT.changeTypeToInteger(); in matchBinaryShuffle()
37689 SrcVT = DstVT = MaskVT.changeTypeToInteger(); in matchBinaryShuffle()
42429 EVT DstVT = N->getValueType(0); in combineCastedMaskArithmetic() local
42444 DstVT.isScalarInteger()) && in combineCastedMaskArithmetic()
42445 !(DstVT.isVector() && DstVT.getVectorElementType() == MVT::i1 && in combineCastedMaskArithmetic()
42453 LHS.getOperand(0).getValueType() == DstVT) in combineCastedMaskArithmetic()
42454 return DAG.getNode(Op.getOpcode(), SDLoc(N), DstVT, LHS.getOperand(0), in combineCastedMaskArithmetic()
42455 DAG.getBitcast(DstVT, RHS)); in combineCastedMaskArithmetic()
42458 RHS.getOperand(0).getValueType() == DstVT) in combineCastedMaskArithmetic()
42459 return DAG.getNode(Op.getOpcode(), SDLoc(N), DstVT, in combineCastedMaskArithmetic()
42460 DAG.getBitcast(DstVT, LHS), RHS.getOperand(0)); in combineCastedMaskArithmetic()
42466 return DAG.getNode(Op.getOpcode(), SDLoc(N), DstVT, in combineCastedMaskArithmetic()
42467 DAG.getBitcast(DstVT, LHS), RHS); in combineCastedMaskArithmetic()
49506 MVT DstVT = Trunc.getSimpleValueType(); in combineStore() local
49509 unsigned NumTruncBits = DstVT.getScalarSizeInBits() * NumSrcElts; in combineStore()
49510 MVT TruncVT = MVT::getVectorVT(DstVT.getScalarType(), NumSrcElts); in combineStore()
51399 EVT DstVT = N->getValueType(0); in combineSextInRegCmov() local
51433 CMovOp0 = DAG.getNode(IntermediateOpc, DL, DstVT, CMovOp0); in combineSextInRegCmov()
51434 CMovOp1 = DAG.getNode(IntermediateOpc, DL, DstVT, CMovOp1); in combineSextInRegCmov()
51437 CMovOp0 = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, DstVT, CMovOp0, N1); in combineSextInRegCmov()
51438 CMovOp1 = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, DstVT, CMovOp1, N1); in combineSextInRegCmov()
51440 EVT CMovVT = DstVT; in combineSextInRegCmov()
51442 if (DstVT == MVT::i16) { in combineSextInRegCmov()
51451 if (CMovVT != DstVT) in combineSextInRegCmov()
51452 CMov = DAG.getNode(ISD::TRUNCATE, DL, DstVT, CMov); in combineSextInRegCmov()
52627 EVT DstVT = EVT::getVectorVT(*DAG.getContext(), in combineUIntToFP() local
52632 SDValue P = DAG.getNode(ISD::ZERO_EXTEND, dl, DstVT, Op0); in combineUIntToFP()
52645 EVT DstVT = InVT.changeVectorElementType(MVT::i32); in combineUIntToFP() local
52646 SDValue P = DAG.getNode(ISD::ZERO_EXTEND, dl, DstVT, Op0); in combineUIntToFP()
52690 EVT DstVT = EVT::getVectorVT(*DAG.getContext(), in combineSIntToFP() local
52695 SDValue P = DAG.getNode(ISD::SIGN_EXTEND, dl, DstVT, Op0); in combineSIntToFP()
52708 EVT DstVT = InVT.changeVectorElementType(MVT::i32); in combineSIntToFP() local
52709 SDValue P = DAG.getNode(ISD::SIGN_EXTEND, dl, DstVT, Op0); in combineSIntToFP()