Lines Matching refs:SrcVT
4897 bool X86TargetLowering::isExtractSubvectorCheap(EVT ResVT, EVT SrcVT, in isExtractSubvectorCheap() argument
4905 return Index == 0 || ((ResVT.getSizeInBits() == SrcVT.getSizeInBits()*2) && in isExtractSubvectorCheap()
5927 EVT SrcVT = Op.getOperand(0).getValueType(); in getTargetConstantBitsFromNode() local
5928 unsigned NumSrcElts = SrcVT.getVectorNumElements(); in getTargetConstantBitsFromNode()
6617 EVT SrcVT = SrcVec.getValueType(); in getFauxShuffleMask() local
6618 unsigned NumSrcElts = SrcVT.getVectorNumElements(); in getFauxShuffleMask()
6619 unsigned NumZeros = (NumBitsPerElt / SrcVT.getScalarSizeInBits()) - 1; in getFauxShuffleMask()
6735 MVT SrcVT = Src.getSimpleValueType(); in getFauxShuffleMask() local
6736 if (NumSizeInBits != SrcVT.getSizeInBits()) in getFauxShuffleMask()
6738 DecodeZeroExtendMask(SrcVT.getScalarSizeInBits(), NumBitsPerElt, NumElts, in getFauxShuffleMask()
6844 EVT SrcVT = V.getValueType(); in getShuffleScalarElt() local
6847 if (!SrcVT.isVector() || SrcVT.getVectorNumElements() != NumElems) in getShuffleScalarElt()
8588 EVT SrcVT = Idx.getValueType(); in createVariablePermute() local
8589 unsigned NumDstBits = SrcVT.getScalarSizeInBits() / Scale; in createVariablePermute()
8603 Idx = DAG.getNode(ISD::MUL, SDLoc(Idx), SrcVT, Idx, in createVariablePermute()
8604 DAG.getConstant(IndexScale, SDLoc(Idx), SrcVT)); in createVariablePermute()
8605 Idx = DAG.getNode(ISD::ADD, SDLoc(Idx), SrcVT, Idx, in createVariablePermute()
8606 DAG.getConstant(IndexOffset, SDLoc(Idx), SrcVT)); in createVariablePermute()
10096 MVT SrcVT = Src.getSimpleValueType(); in lowerVectorShuffleWithVPMOV() local
10100 if (!SrcVT.is512BitVector() && !Subtarget.hasVLX()) in lowerVectorShuffleWithVPMOV()
10105 if (SrcVT.getVectorElementType() == MVT::i16 && VT == MVT::v16i8 && in lowerVectorShuffleWithVPMOV()
10120 static bool matchVectorShuffleWithPACK(MVT VT, MVT &SrcVT, SDValue &V1, in matchVectorShuffleWithPACK() argument
10139 SrcVT = PackVT; in matchVectorShuffleWithPACK()
10148 SrcVT = PackVT; in matchVectorShuffleWithPACK()
11732 MVT SrcVT = MVT::getVectorVT(VT.getScalarType(), NumSrcElts); in lowerVectorShuffleAsBroadcast() local
11733 V = DAG.getBitcast(SrcVT, V); in lowerVectorShuffleAsBroadcast()
11813 MVT SrcVT = V.getSimpleValueType(); in lowerVectorShuffleAsBroadcast() local
11814 if (SrcVT.getScalarType() != BroadcastVT.getScalarType()) { in lowerVectorShuffleAsBroadcast()
11815 assert(SrcVT.getScalarSizeInBits() == BroadcastVT.getScalarSizeInBits() && in lowerVectorShuffleAsBroadcast()
11817 if (SrcVT.isVector()) { in lowerVectorShuffleAsBroadcast()
11818 unsigned NumSrcElts = SrcVT.getVectorNumElements(); in lowerVectorShuffleAsBroadcast()
11819 SrcVT = MVT::getVectorVT(BroadcastVT.getScalarType(), NumSrcElts); in lowerVectorShuffleAsBroadcast()
11821 SrcVT = BroadcastVT.getScalarType(); in lowerVectorShuffleAsBroadcast()
11823 V = DAG.getBitcast(SrcVT, V); in lowerVectorShuffleAsBroadcast()
11827 if (!Subtarget.is64Bit() && SrcVT == MVT::i64) { in lowerVectorShuffleAsBroadcast()
11836 if (SrcVT.getSizeInBits() > 128) { in lowerVectorShuffleAsBroadcast()
11837 MVT ExtVT = MVT::getVectorVT(SrcVT.getScalarType(), in lowerVectorShuffleAsBroadcast()
11838 128 / SrcVT.getScalarSizeInBits()); in lowerVectorShuffleAsBroadcast()
17302 MVT SrcVT = Src.getSimpleValueType(); in LowerI64IntToFP_AVX512DQ() local
17305 if (!Subtarget.hasDQI() || SrcVT != MVT::i64 || Subtarget.is64Bit() || in LowerI64IntToFP_AVX512DQ()
17326 MVT SrcVT = Src.getSimpleValueType(); in LowerSINT_TO_FP() local
17330 if (SrcVT.isVector()) { in LowerSINT_TO_FP()
17331 if (SrcVT == MVT::v2i32 && VT == MVT::v2f64) { in LowerSINT_TO_FP()
17334 DAG.getUNDEF(SrcVT))); in LowerSINT_TO_FP()
17339 assert(SrcVT <= MVT::i64 && SrcVT >= MVT::i16 && in LowerSINT_TO_FP()
17344 if (SrcVT == MVT::i32 && isScalarFPTypeInSSEReg(VT)) in LowerSINT_TO_FP()
17346 if (SrcVT == MVT::i64 && isScalarFPTypeInSSEReg(VT) && Subtarget.is64Bit()) in LowerSINT_TO_FP()
17353 if (SrcVT == MVT::i64 && isScalarFPTypeInSSEReg(VT) && in LowerSINT_TO_FP()
17360 unsigned Size = SrcVT.getSizeInBits()/8; in LowerSINT_TO_FP()
17368 return BuildFILD(Op, SrcVT, Chain, StackSlot, DAG); in LowerSINT_TO_FP()
17371 SDValue X86TargetLowering::BuildFILD(SDValue Op, EVT SrcVT, SDValue Chain, in BuildFILD() argument
17383 unsigned ByteSize = SrcVT.getSizeInBits()/8; in BuildFILD()
17396 SDValue Ops[] = { Chain, StackSlot, DAG.getValueType(SrcVT) }; in BuildFILD()
17399 Tys, Ops, SrcVT, MMO); in BuildFILD()
17668 MVT SrcVT = N0.getSimpleValueType(); in lowerUINT_TO_FP_vec() local
17671 switch (SrcVT.SimpleTy) { in lowerUINT_TO_FP_vec()
17692 MVT SrcVT = N0.getSimpleValueType(); in LowerUINT_TO_FP() local
17696 (SrcVT == MVT::i32 || (SrcVT == MVT::i64 && Subtarget.is64Bit()))) { in LowerUINT_TO_FP()
17705 if (SrcVT == MVT::i64 && DstVT == MVT::f64 && X86ScalarSSEf64) in LowerUINT_TO_FP()
17707 if (SrcVT == MVT::i32 && X86ScalarSSEf64) in LowerUINT_TO_FP()
17709 if (Subtarget.is64Bit() && SrcVT == MVT::i64 && DstVT == MVT::f32) in LowerUINT_TO_FP()
17714 if (SrcVT == MVT::i32) { in LowerUINT_TO_FP()
17724 assert(SrcVT == MVT::i64 && "Unexpected type in UINT_TO_FP"); in LowerUINT_TO_FP()
18123 EVT SrcVT = In.getValueType(); in truncateVectorWithPACK() local
18126 if (SrcVT == DstVT) in truncateVectorWithPACK()
18132 unsigned SrcSizeInBits = SrcVT.getSizeInBits(); in truncateVectorWithPACK()
18136 unsigned NumElems = SrcVT.getVectorNumElements(); in truncateVectorWithPACK()
18144 EVT PackedSVT = EVT::getIntegerVT(Ctx, SrcVT.getScalarSizeInBits() / 2); in truncateVectorWithPACK()
18149 if (SrcVT.getScalarSizeInBits() > 16 && in truncateVectorWithPACK()
18156 if (SrcVT.is128BitVector()) { in truncateVectorWithPACK()
18175 if (SrcVT.is256BitVector() && DstVT.is128BitVector()) { in truncateVectorWithPACK()
18184 if (SrcVT.is512BitVector() && Subtarget.hasInt256()) { in truncateVectorWithPACK()
22039 MVT SrcVT = Src.getSimpleValueType(); in LowerINTRINSIC_WO_CHAIN() local
22040 MVT MaskVT = MVT::getVectorVT(MVT::i1, SrcVT.getVectorNumElements()); in LowerINTRINSIC_WO_CHAIN()
22054 MVT SrcVT = Src.getSimpleValueType(); in LowerINTRINSIC_WO_CHAIN() local
22055 MVT MaskVT = MVT::getVectorVT(MVT::i1, SrcVT.getVectorNumElements()); in LowerINTRINSIC_WO_CHAIN()
25327 MVT SrcVT = Src.getSimpleValueType(); in LowerBITCAST() local
25332 if (SrcVT == MVT::i64 && DstVT == MVT::v64i1) { in LowerBITCAST()
25346 if ((SrcVT == MVT::v32i16 || SrcVT == MVT::v64i8) && DstVT.isVector() && in LowerBITCAST()
25359 if ((SrcVT == MVT::v16i1 || SrcVT == MVT::v32i1) && DstVT.isScalarInteger()) { in LowerBITCAST()
25361 MVT SExtVT = SrcVT == MVT::v16i1 ? MVT::v16i8 : MVT::v32i8; in LowerBITCAST()
25368 if (SrcVT == MVT::v2i32 || SrcVT == MVT::v4i16 || SrcVT == MVT::v8i8 || in LowerBITCAST()
25369 SrcVT == MVT::i64) { in LowerBITCAST()
25372 !(DstVT == MVT::x86mmx && SrcVT.isVector())) in LowerBITCAST()
25377 if (SrcVT.isVector()) { in LowerBITCAST()
25380 MVT NewVT = MVT::getVectorVT(SrcVT.getVectorElementType(), in LowerBITCAST()
25381 SrcVT.getVectorNumElements() * 2); in LowerBITCAST()
25383 DAG.getUNDEF(SrcVT)); in LowerBITCAST()
25385 assert(SrcVT == MVT::i64 && !Subtarget.is64Bit() && in LowerBITCAST()
25406 if (SrcVT==MVT::i64 && DstVT.isVector()) in LowerBITCAST()
25408 if (DstVT==MVT::i64 && SrcVT.isVector()) in LowerBITCAST()
25411 if (SrcVT.isVector() && DstVT.isVector()) in LowerBITCAST()
26632 EVT SrcVT = Src.getValueType(); in ReplaceNodeResults() local
26710 if (SrcVT == MVT::v2f32 && in ReplaceNodeResults()
26728 (SrcVT == MVT::f32 || SrcVT == MVT::f64)) { in ReplaceNodeResults()
26735 MVT VecInVT = MVT::getVectorVT(SrcVT.getSimpleVT(), NumElts); in ReplaceNodeResults()
26774 EVT SrcVT = Src.getValueType(); in ReplaceNodeResults() local
26775 if (Subtarget.hasDQI() && Subtarget.hasVLX() && SrcVT == MVT::v2i64) { in ReplaceNodeResults()
26779 if (SrcVT != MVT::v2i32) in ReplaceNodeResults()
26934 EVT SrcVT = N->getOperand(0).getValueType(); in ReplaceNodeResults() local
26938 if (SrcVT == MVT::v64i1 && DstVT == MVT::i64 && Subtarget.hasBWI()) { in ReplaceNodeResults()
26951 SrcVT.isVector() && isTypeLegal(SrcVT)) { in ReplaceNodeResults()
26962 if (SrcVT != MVT::f64 || in ReplaceNodeResults()
27570 EVT SrcVT = ExtVal.getOperand(0).getValueType(); in isVectorLoadExtDesirable() local
27573 if (SrcVT.getScalarType() == MVT::i1) in isVectorLoadExtDesirable()
30103 EVT SrcVT = Src.getValueType(); in computeKnownBitsForTargetNode() local
30104 APInt DemandedElt = APInt::getOneBitSet(SrcVT.getVectorNumElements(), in computeKnownBitsForTargetNode()
30108 Known.Zero.setBitsFrom(SrcVT.getScalarSizeInBits()); in computeKnownBitsForTargetNode()
30324 unsigned &Shuffle, MVT &SrcVT, MVT &DstVT) { in matchUnaryVectorShuffle() argument
30332 SrcVT = DstVT = !Subtarget.hasSSE2() ? MVT::v4f32 : MaskVT; in matchUnaryVectorShuffle()
30352 SrcVT = MVT::getVectorVT(ScalarTy, SrcSize / MaskEltSize); in matchUnaryVectorShuffle()
30354 if (SrcVT.getSizeInBits() != MaskVT.getSizeInBits()) in matchUnaryVectorShuffle()
30357 if (SrcVT.getVectorNumElements() == NumDstElts) in matchUnaryVectorShuffle()
30374 SrcVT = DstVT = !Subtarget.hasSSE2() ? MVT::v4f32 : MaskVT; in matchUnaryVectorShuffle()
30384 SrcVT = DstVT = MVT::v2f64; in matchUnaryVectorShuffle()
30389 SrcVT = DstVT = MVT::v4f32; in matchUnaryVectorShuffle()
30394 SrcVT = DstVT = MVT::v4f32; in matchUnaryVectorShuffle()
30403 SrcVT = DstVT = MVT::v4f64; in matchUnaryVectorShuffle()
30408 SrcVT = DstVT = MVT::v8f32; in matchUnaryVectorShuffle()
30413 SrcVT = DstVT = MVT::v8f32; in matchUnaryVectorShuffle()
30423 SrcVT = DstVT = MVT::v8f64; in matchUnaryVectorShuffle()
30429 SrcVT = DstVT = MVT::v16f32; in matchUnaryVectorShuffle()
30435 SrcVT = DstVT = MVT::v16f32; in matchUnaryVectorShuffle()
30444 SrcVT = DstVT = MaskVT; in matchUnaryVectorShuffle()
30583 unsigned &Shuffle, MVT &SrcVT, MVT &DstVT, in matchBinaryVectorShuffle() argument
30592 SrcVT = DstVT = Subtarget.hasSSE2() ? MVT::v2f64 : MVT::v4f32; in matchBinaryVectorShuffle()
30598 SrcVT = DstVT = Subtarget.hasSSE2() ? MVT::v2f64 : MVT::v4f32; in matchBinaryVectorShuffle()
30605 SrcVT = DstVT = MVT::v2f64; in matchBinaryVectorShuffle()
30611 SrcVT = DstVT = MVT::v4f32; in matchBinaryVectorShuffle()
30620 if (matchVectorShuffleWithPACK(MaskVT, SrcVT, V1, V2, Shuffle, Mask, DAG, in matchBinaryVectorShuffle()
30635 SrcVT = DstVT = MaskVT; in matchBinaryVectorShuffle()
30637 SrcVT = DstVT = (32 == EltSizeInBits ? MVT::v8f32 : MVT::v4f64); in matchBinaryVectorShuffle()
31788 EVT SrcVT = Src.getValueType(); in combineTargetShuffle() local
31801 DAG.getBitcast(SrcVT, Res)); in combineTargetShuffle()
32479 MVT SrcVT = Src.getSimpleValueType(); in SimplifyDemandedVectorEltsForTargetNode() local
32481 APInt SrcElts = DemandedElts.zextOrTrunc(SrcVT.getVectorNumElements()); in SimplifyDemandedVectorEltsForTargetNode()
32503 MVT SrcVT = Src.getSimpleValueType(); in SimplifyDemandedVectorEltsForTargetNode() local
32504 if (!SrcVT.isVector()) in SimplifyDemandedVectorEltsForTargetNode()
32514 APInt SrcElts = APInt::getOneBitSet(SrcVT.getVectorNumElements(), 0); in SimplifyDemandedVectorEltsForTargetNode()
32743 MVT SrcVT = Src.getSimpleValueType(); in SimplifyDemandedBitsForTargetNode() local
32744 unsigned SrcBits = SrcVT.getScalarSizeInBits(); in SimplifyDemandedBitsForTargetNode()
32745 unsigned NumElts = SrcVT.getVectorNumElements(); in SimplifyDemandedBitsForTargetNode()
32996 EVT SrcVT = Op.getValueType(); in combinevXi1ConstantToInteger() local
32997 assert(SrcVT.getVectorElementType() == MVT::i1 && in combinevXi1ConstantToInteger()
33002 APInt Imm(SrcVT.getVectorNumElements(), 0); in combinevXi1ConstantToInteger()
33026 EVT SrcVT = Op.getValueType(); in combineCastedMaskArithmetic() local
33038 if (!(SrcVT.isVector() && SrcVT.getVectorElementType() == MVT::i1 && in combineCastedMaskArithmetic()
33041 SrcVT.isScalarInteger())) in combineCastedMaskArithmetic()
33146 EVT SrcVT = N0.getValueType(); in combineBitcast() local
33160 if ((VT == MVT::v4i1 || VT == MVT::v2i1) && SrcVT.isScalarInteger() && in combineBitcast()
33171 if ((SrcVT == MVT::v4i1 || SrcVT == MVT::v2i1) && VT.isScalarInteger() && in combineBitcast()
33174 unsigned NumConcats = 8 / SrcVT.getVectorNumElements(); in combineBitcast()
33175 SmallVector<SDValue, 4> Ops(NumConcats, DAG.getUNDEF(SrcVT)); in combineBitcast()
33204 (SrcVT == MVT::v2i32 || SrcVT == MVT::v4i16 || SrcVT == MVT::v8i8) && in combineBitcast()
33205 N0.getOperand(0).getValueType() == SrcVT.getScalarType()) { in combineBitcast()
33207 for (unsigned i = 1, e = SrcVT.getVectorNumElements(); i != e; ++i) { in combineBitcast()
33225 (SrcVT == MVT::v2f32 || SrcVT == MVT::v2i32 || SrcVT == MVT::v4i16 || in combineBitcast()
33226 SrcVT == MVT::v8i8)) in combineBitcast()
33240 if (SrcVT == MVT::v2i32 && N0.getOpcode() == ISD::FP_TO_SINT) { in combineBitcast()
33252 SrcVT.isVector() && SrcVT.getVectorElementType() == MVT::i1 && in combineBitcast()
33257 if (Subtarget.hasAVX512() && SrcVT.isScalarInteger() && in combineBitcast()
33431 EVT SrcVT = Src.getValueType(); in combineHorizontalMinMaxResult() local
33432 EVT SrcSVT = SrcVT.getScalarType(); in combineHorizontalMinMaxResult()
33433 if (SrcSVT != ExtractVT || (SrcVT.getSizeInBits() % 128) != 0) in combineHorizontalMinMaxResult()
33440 while (SrcVT.getSizeInBits() > 128) { in combineHorizontalMinMaxResult()
33441 unsigned NumElts = SrcVT.getVectorNumElements(); in combineHorizontalMinMaxResult()
33443 SrcVT = EVT::getVectorVT(*DAG.getContext(), SrcSVT, NumSubElts); in combineHorizontalMinMaxResult()
33444 unsigned SubSizeInBits = SrcVT.getSizeInBits(); in combineHorizontalMinMaxResult()
33447 MinPos = DAG.getNode(BinOp, DL, SrcVT, Lo, Hi); in combineHorizontalMinMaxResult()
33449 assert(((SrcVT == MVT::v8i16 && ExtractVT == MVT::i16) || in combineHorizontalMinMaxResult()
33450 (SrcVT == MVT::v16i8 && ExtractVT == MVT::i8)) && in combineHorizontalMinMaxResult()
33458 Mask = DAG.getConstant(APInt::getSignedMaxValue(MaskEltsBits), DL, SrcVT); in combineHorizontalMinMaxResult()
33460 Mask = DAG.getConstant(APInt::getSignedMinValue(MaskEltsBits), DL, SrcVT); in combineHorizontalMinMaxResult()
33462 Mask = DAG.getConstant(APInt::getAllOnesValue(MaskEltsBits), DL, SrcVT); in combineHorizontalMinMaxResult()
33465 MinPos = DAG.getNode(ISD::XOR, DL, SrcVT, Mask, MinPos); in combineHorizontalMinMaxResult()
33473 SrcVT, DL, MinPos, DAG.getConstant(0, DL, MVT::v16i8), in combineHorizontalMinMaxResult()
33475 MinPos = DAG.getNode(ISD::UMIN, DL, SrcVT, MinPos, Upper); in combineHorizontalMinMaxResult()
33481 MinPos = DAG.getBitcast(SrcVT, MinPos); in combineHorizontalMinMaxResult()
33484 MinPos = DAG.getNode(ISD::XOR, DL, SrcVT, Mask, MinPos); in combineHorizontalMinMaxResult()
33657 EVT SrcVT = Src.getValueType(); in combineExtractWithShuffle() local
33658 EVT SrcSVT = SrcVT.getVectorElementType(); in combineExtractWithShuffle()
33659 unsigned NumSrcElts = SrcVT.getVectorNumElements(); in combineExtractWithShuffle()
33718 SrcOp = DAG.getBitcast(SrcVT, SrcOp); in combineExtractWithShuffle()
33725 if ((SrcVT == MVT::v4i32 || SrcVT == MVT::v2i64) && in combineExtractWithShuffle()
33732 if ((SrcVT == MVT::v8i16 && Subtarget.hasSSE2()) || in combineExtractWithShuffle()
33733 (SrcVT == MVT::v16i8 && Subtarget.hasSSE41())) { in combineExtractWithShuffle()
33736 unsigned OpCode = (SrcVT == MVT::v8i16 ? X86ISD::PEXTRW : X86ISD::PEXTRB); in combineExtractWithShuffle()
33768 EVT SrcVT = InputVector.getValueType(); in combineExtractVectorElt() local
33774 VT == MVT::i64 && SrcVT == MVT::v1i64 && isNullConstant(EltIdx)) { in combineExtractVectorElt()
33784 VT == MVT::i32 && SrcVT == MVT::v2i32 && isNullConstant(EltIdx)) { in combineExtractVectorElt()
36945 static bool isSATValidOnAVX512Subtarget(EVT SrcVT, EVT DstVT, in isSATValidOnAVX512Subtarget() argument
36951 if (!SrcVT.isVector()) in isSATValidOnAVX512Subtarget()
36954 EVT SrcElVT = SrcVT.getScalarType(); in isSATValidOnAVX512Subtarget()
36958 if (SrcVT.is512BitVector() || Subtarget.hasVLX()) in isSATValidOnAVX512Subtarget()
38123 EVT SrcVT = Src.getValueType(); in combineTruncatedArithmetic() local
38177 if (SrcVT.getScalarType() == MVT::i64 && TLI.isOperationLegal(Opcode, VT) && in combineTruncatedArithmetic()
38178 !TLI.isOperationLegal(Opcode, SrcVT)) in combineTruncatedArithmetic()
39888 MVT SrcVT = Src.getSimpleValueType(); in combineMOVMSK() local
39906 SrcVT.isFloatingPoint() && in combineMOVMSK()
39908 EVT(SrcVT).changeVectorElementTypeToInteger()) in combineMOVMSK()
39945 SDValue Cast = DAG.getBitcast(SrcVT, Shl); in combineMOVMSK()
41772 ArrayRef<int> ShuffleMask, EVT SrcVT, EVT TruncVT) const { in isDesirableToCombineBuildVectorToShuffleTruncate() argument
41774 assert(SrcVT.getVectorNumElements() == ShuffleMask.size() && in isDesirableToCombineBuildVectorToShuffleTruncate()
41777 Subtarget.getTargetLowering()->isShuffleMaskLegal(ShuffleMask, SrcVT) && in isDesirableToCombineBuildVectorToShuffleTruncate()
41782 if (SrcVT.getScalarSizeInBits() == 32 || !Subtarget.hasAVX2()) in isDesirableToCombineBuildVectorToShuffleTruncate()
41785 if (is128BitLaneCrossingShuffleMask(SrcVT.getSimpleVT(), ShuffleMask)) in isDesirableToCombineBuildVectorToShuffleTruncate()