Lines Matching defs:EVT
89 static SDVTList makeVTList(const EVT *VTs, unsigned NumVTs) {
128 bool ConstantFPSDNode::isValueValidForType(EVT VT,
368 EVT SVT = Op.getValueType().getScalarType();
406 EVT SVT = LHS.getValueType().getScalarType();
603 ISD::CondCode ISD::getSetCCInverse(ISD::CondCode Op, EVT Type) {
632 EVT Type) {
653 EVT Type) {
1123 EVT VT = N->getValueType(0);
1141 EVT EltVT = N->getValueType(0).getVectorElementType();
1199 EVT VT = cast<VTSDNode>(N)->getVT();
1316 Align SelectionDAG::getEVTAlign(EVT VT) const {
1433 SDValue SelectionDAG::getFPExtendOrRound(SDValue Op, const SDLoc &DL, EVT VT) {
1442 const SDLoc &DL, EVT VT) {
1454 SDValue SelectionDAG::getAnyExtOrTrunc(SDValue Op, const SDLoc &DL, EVT VT) {
1460 SDValue SelectionDAG::getSExtOrTrunc(SDValue Op, const SDLoc &DL, EVT VT) {
1466 SDValue SelectionDAG::getZExtOrTrunc(SDValue Op, const SDLoc &DL, EVT VT) {
1473 EVT VT) {
1480 DestOp = getBitcast(EVT::getIntegerVT(*Context, Size), Op);
1488 EVT VT) {
1503 EVT VT) {
1517 SDValue SelectionDAG::getBoolExtOrTrunc(SDValue Op, const SDLoc &SL, EVT VT,
1518 EVT OpVT) {
1526 SDValue SelectionDAG::getZeroExtendInReg(SDValue Op, const SDLoc &DL, EVT VT) {
1527 EVT OpVT = Op.getValueType();
1546 EVT VT) {
1547 EVT OpVT = Op.getValueType();
1563 SDValue SelectionDAG::getPtrExtOrTrunc(SDValue Op, const SDLoc &DL, EVT VT) {
1569 SDValue SelectionDAG::getPtrExtendInReg(SDValue Op, const SDLoc &DL, EVT VT) {
1575 SDValue SelectionDAG::getNegative(SDValue Val, const SDLoc &DL, EVT VT) {
1580 SDValue SelectionDAG::getNOT(const SDLoc &DL, SDValue Val, EVT VT) {
1584 SDValue SelectionDAG::getLogicalNOT(const SDLoc &DL, SDValue Val, EVT VT) {
1590 SDValue Mask, SDValue EVL, EVT VT) {
1595 SDValue SelectionDAG::getVPPtrExtOrTrunc(const SDLoc &DL, EVT VT, SDValue Op,
1600 SDValue SelectionDAG::getVPZExtOrTrunc(const SDLoc &DL, EVT VT, SDValue Op,
1609 SDValue SelectionDAG::getBoolConstant(bool V, const SDLoc &DL, EVT VT,
1610 EVT OpVT) {
1624 SDValue SelectionDAG::getConstant(uint64_t Val, const SDLoc &DL, EVT VT,
1626 EVT EltVT = VT.getScalarType();
1633 SDValue SelectionDAG::getConstant(const APInt &Val, const SDLoc &DL, EVT VT,
1639 EVT VT, bool isT, bool isO) {
1642 EVT EltVT = VT.getScalarType();
1669 EVT ViaEltVT = TLI->getTypeToTransformTo(*getContext(), EltVT);
1689 EVT ViaVecVT = EVT::getVectorVT(*getContext(), ViaEltVT, ViaVecNumElts);
1755 SDValue SelectionDAG::getShiftAmountConstant(uint64_t Val, EVT VT,
1758 EVT ShiftVT = TLI->getShiftAmountTy(VT, getDataLayout());
1762 SDValue SelectionDAG::getShiftAmountConstant(const APInt &Val, EVT VT,
1773 SDValue SelectionDAG::getConstantFP(const APFloat &V, const SDLoc &DL, EVT VT,
1779 EVT VT, bool isTarget) {
1782 EVT EltVT = VT.getScalarType();
1811 SDValue SelectionDAG::getConstantFP(double Val, const SDLoc &DL, EVT VT,
1813 EVT EltVT = VT.getScalarType();
1830 EVT VT, int64_t Offset, bool isTargetGA,
1863 SDValue SelectionDAG::getFrameIndex(int FI, EVT VT, bool isTarget) {
1879 SDValue SelectionDAG::getJumpTable(int JTI, EVT VT, bool isTarget,
1901 EVT PTy = getTargetLoweringInfo().getPointerTy(getDataLayout());
1906 SDValue SelectionDAG::getConstantPool(const Constant *C, EVT VT,
1936 SDValue SelectionDAG::getConstantPool(MachineConstantPoolValue *C, EVT VT,
1976 SDValue SelectionDAG::getValueType(EVT VT) {
1990 SDValue SelectionDAG::getExternalSymbol(const char *Sym, EVT VT) {
1998 SDValue SelectionDAG::getMCSymbol(MCSymbol *Sym, EVT VT) {
2007 SDValue SelectionDAG::getTargetExternalSymbol(const char *Sym, EVT VT,
2030 SDValue SelectionDAG::getVScale(const SDLoc &DL, EVT VT, APInt MulImm,
2049 SDValue SelectionDAG::getElementCount(const SDLoc &DL, EVT VT, ElementCount EC,
2058 SDValue SelectionDAG::getStepVector(const SDLoc &DL, EVT ResVT) {
2063 SDValue SelectionDAG::getStepVector(const SDLoc &DL, EVT ResVT,
2085 SDValue SelectionDAG::getVectorShuffle(EVT VT, const SDLoc &dl, SDValue N1,
2215 EVT BuildVT = BV->getValueType(0);
2257 EVT VT = SV.getValueType(0);
2266 SDValue SelectionDAG::getRegister(unsigned RegNo, EVT VT) {
2320 SDValue SelectionDAG::getBlockAddress(const BlockAddress *BA, EVT VT,
2371 SDValue SelectionDAG::getBitcast(EVT VT, SDValue V) {
2378 SDValue SelectionDAG::getAddrSpaceCast(const SDLoc &dl, EVT VT, SDValue Ptr,
2406 SDValue SelectionDAG::getShiftAmountOperand(EVT LHSTy, SDValue Op) {
2407 EVT OpTy = Op.getValueType();
2408 EVT ShTy = TLI->getShiftAmountTy(LHSTy, getDataLayout());
2418 EVT VT = Node->getValueType(0);
2462 Align SelectionDAG::getReducedAlign(EVT VT, bool UseABI) {
2476 EVT IntermediateVT;
2503 SDValue SelectionDAG::CreateStackTemporary(EVT VT, unsigned minAlign) {
2510 SDValue SelectionDAG::CreateStackTemporary(EVT VT1, EVT VT2) {
2527 SDValue SelectionDAG::FoldSetCC(EVT VT, SDValue N1, SDValue N2,
2529 EVT OpVT = N1.getValueType();
2721 EVT VT = Op.getValueType();
2746 EVT VT = V.getValueType();
2892 EVT SrcVT = Src.getValueType();
2930 EVT VT = V.getValueType();
2946 EVT VT = V.getValueType();
2998 EVT SVT = SrcVector.getValueType().getScalarType();
2999 EVT LegalSVT = SVT;
3077 EVT VT = V.getValueType();
3098 EVT VT = V.getValueType();
3119 EVT VT = V.getValueType();
3130 EVT VT = Op.getValueType();
3286 EVT SubVectorVT = Op.getOperand(0).getValueType();
3361 EVT SubVT = N0.getValueType();
3680 EVT EVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
3681 Known = Known.sextInReg(EVT.getScalarSizeInBits());
3769 EVT VT = Op.getValueType();
3807 EVT InVT = Op.getOperand(0).getValueType();
3821 EVT InVT = Op.getOperand(0).getValueType();
3839 EVT InVT = Op.getOperand(0).getValueType();
3856 EVT VT = cast<VTSDNode>(Op.getOperand(1))->getVT();
3995 EVT VecVT = InVec.getValueType();
4151 EVT VT = cast<VTSDNode>(Op.getOperand(1))->getVT();
4350 EVT OpVT = Val.getValueType();
4441 EVT VT = Op.getValueType();
4454 EVT VT = Op.getValueType();
4547 EVT SrcVT = N0.getValueType();
4606 EVT SrcVT = Src.getValueType();
4630 EVT ExtVT = Ext.getValueType();
4632 EVT ExtendeeVT = Extendee.getValueType();
4900 EVT VecVT = InVec.getValueType();
4941 EVT SubVectorVT = Op.getOperand(0).getValueType();
5134 EVT VT = Op.getValueType();
5230 EVT VT = Op.getValueType();
5245 EVT VT = Op.getValueType();
5330 EVT VecVT = Op.getOperand(0).getValueType();
5751 static SDValue FoldSTEP_VECTOR(const SDLoc &DL, EVT VT, SDValue Step,
5759 static SDValue FoldBUILD_VECTOR(const SDLoc &DL, EVT VT,
5795 static SDValue foldCONCAT_VECTORS(const SDLoc &DL, EVT VT,
5847 EVT SVT = VT.getScalarType();
5850 EVT OpVT = Op.getValueType();
5881 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT) {
5898 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
5906 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
6327 SDValue SelectionDAG::FoldSymbolOffset(unsigned Opcode, EVT VT,
6373 EVT VT, ArrayRef<SDValue> Ops,
6620 EVT BVVT, BVEltVT;
6680 EVT SVT = (Opcode == ISD::SETCC ? MVT::i1 : VT.getScalarType());
6688 EVT LegalSVT = VT.getScalarType();
6705 EVT InSVT = Op.getValueType().getScalarType();
6717 EVT ScalarVT = ScalarOp.getValueType();
6758 EVT VT, ArrayRef<SDValue> Ops) {
6865 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
6894 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
7097 EVT EVT = cast<VTSDNode>(N2)->getVT();
7099 assert(VT.isInteger() && EVT.isInteger() &&
7101 assert(!EVT.isVector() &&
7104 assert(EVT.bitsLE(VT.getScalarType()) && "Not extending!");
7105 if (VT.getScalarType() == EVT) return N1; // noop assertion.
7109 EVT EVT = cast<VTSDNode>(N2)->getVT();
7111 assert(VT.isInteger() && EVT.isInteger() &&
7113 assert(EVT.isVector() == VT.isVector() &&
7116 assert((!EVT.isVector() ||
7117 EVT.getVectorElementCount() == VT.getVectorElementCount()) &&
7119 assert(EVT.bitsLE(VT) && "Not extending!");
7120 if (EVT == VT) return N1; // Not actually extending
7122 auto SignExtendInReg = [&](APInt Val, llvm::EVT ConstantVT) {
7123 unsigned FromBits = EVT.getScalarSizeInBits();
7136 llvm::EVT OpVT = N1.getOperand(0).getValueType();
7283 EVT N1VT = N1.getValueType();
7407 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
7415 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
7514 EVT N2VT = N2.getValueType();
7560 [[maybe_unused]] EVT VecVT = N1.getValueType();
7561 [[maybe_unused]] EVT MaskVT = N2.getValueType();
7562 [[maybe_unused]] EVT PassthruVT = N3.getValueType();
7605 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
7611 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
7641 static SDValue getMemsetValue(SDValue Value, EVT VT, SelectionDAG &DAG,
7659 EVT IntVT = VT.getScalarType();
7661 IntVT = EVT::getIntegerVT(*DAG.getContext(), IntVT.getSizeInBits());
7683 static SDValue getMemsetStringVal(EVT VT, const SDLoc &dl, SelectionDAG &DAG,
7697 EVT::getVectorVT(*DAG.getContext(),
7728 EVT VT = Base.getValueType();
7745 EVT BasePtrVT = Ptr.getValueType();
7821 std::vector<EVT> MemOps;
7885 EVT VT = MemOps[i];
7930 EVT NVT = TLI.getTypeToTransformTo(C, VT);
8022 std::vector<EVT> MemOps;
8075 EVT VT = MemOps[i];
8096 EVT VT = MemOps[i];
8143 std::vector<EVT> MemOps;
8186 EVT LargestVT = MemOps[0];
8197 EVT VT = MemOps[i];
8213 EVT SVT = EVT::getVectorVT(*DAG.getContext(), VT.getScalarType(), NElts);
8635 SDValue SelectionDAG::getAtomic(unsigned Opcode, const SDLoc &dl, EVT MemVT,
8659 EVT MemVT, SDVTList VTs, SDValue Chain,
8670 SDValue SelectionDAG::getAtomic(unsigned Opcode, const SDLoc &dl, EVT MemVT,
8694 EVT VT = Val.getValueType();
8702 SDValue SelectionDAG::getAtomic(unsigned Opcode, const SDLoc &dl, EVT MemVT,
8703 EVT VT, SDValue Chain, SDValue Ptr,
8717 SmallVector<EVT, 4> VTs;
8726 EVT MemVT, MachinePointerInfo PtrInfo, Align Alignment,
8741 ArrayRef<SDValue> Ops, EVT MemVT,
8876 EVT VT, const SDLoc &dl, SDValue Chain,
8878 MachinePointerInfo PtrInfo, EVT MemVT,
8900 EVT VT, const SDLoc &dl, SDValue Chain,
8901 SDValue Ptr, SDValue Offset, EVT MemVT,
8949 SDValue SelectionDAG::getLoad(EVT VT, const SDLoc &dl, SDValue Chain,
8959 SDValue SelectionDAG::getLoad(EVT VT, const SDLoc &dl, SDValue Chain,
8967 EVT VT, SDValue Chain, SDValue Ptr,
8968 MachinePointerInfo PtrInfo, EVT MemVT,
8978 EVT VT, SDValue Chain, SDValue Ptr, EVT MemVT,
9023 EVT VT = Val.getValueType();
9052 EVT SVT, Align Alignment,
9072 SDValue Ptr, EVT SVT,
9074 EVT VT = Val.getValueType();
9147 ISD::MemIndexedMode AM, ISD::LoadExtType ExtType, EVT VT, const SDLoc &dl,
9149 MachinePointerInfo PtrInfo, EVT MemVT, Align Alignment,
9170 ISD::LoadExtType ExtType, EVT VT,
9173 EVT MemVT, MachineMemOperand *MMO,
9204 SDValue SelectionDAG::getLoadVP(EVT VT, const SDLoc &dl, SDValue Chain,
9217 SDValue SelectionDAG::getLoadVP(EVT VT, const SDLoc &dl, SDValue Chain,
9226 EVT VT, SDValue Chain, SDValue Ptr,
9228 MachinePointerInfo PtrInfo, EVT MemVT,
9239 EVT VT, SDValue Chain, SDValue Ptr,
9240 SDValue Mask, SDValue EVL, EVT MemVT,
9265 SDValue EVL, EVT MemVT, MachineMemOperand *MMO,
9300 EVT SVT, Align Alignment,
9322 SDValue EVL, EVT SVT,
9325 EVT VT = Val.getValueType();
9400 ISD::MemIndexedMode AM, ISD::LoadExtType ExtType, EVT VT, const SDLoc &DL,
9402 SDValue EVL, EVT MemVT, MachineMemOperand *MMO, bool IsExpanding) {
9433 SDValue SelectionDAG::getStridedLoadVP(EVT VT, const SDLoc &DL, SDValue Chain,
9444 ISD::LoadExtType ExtType, const SDLoc &DL, EVT VT, SDValue Chain,
9445 SDValue Ptr, SDValue Stride, SDValue Mask, SDValue EVL, EVT MemVT,
9455 SDValue Mask, SDValue EVL, EVT MemVT,
9491 SDValue EVL, EVT SVT,
9494 EVT VT = Val.getValueType();
9537 SDValue SelectionDAG::getGatherVP(SDVTList VTs, EVT VT, const SDLoc &dl,
9580 SDValue SelectionDAG::getScatterVP(SDVTList VTs, EVT VT, const SDLoc &dl,
9624 SDValue SelectionDAG::getMaskedLoad(EVT VT, const SDLoc &dl, SDValue Chain,
9626 SDValue PassThru, EVT MemVT,
9672 SDValue Mask, EVT MemVT,
9719 SDValue SelectionDAG::getMaskedGather(SDVTList VTs, EVT MemVT, const SDLoc &dl,
9766 SDValue SelectionDAG::getMaskedScatter(SDVTList VTs, EVT MemVT, const SDLoc &dl,
9812 SDValue SelectionDAG::getMaskedHistogram(SDVTList VTs, EVT MemVT,
9851 EVT MemVT, MachineMemOperand *MMO) {
9878 EVT MemVT, MachineMemOperand *MMO) {
10007 SDValue SelectionDAG::getVAArg(EVT VT, const SDLoc &dl, SDValue Chain,
10013 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
10029 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
10037 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
10150 ArrayRef<EVT> ResultTys, ArrayRef<SDValue> Ops) {
10390 SDVTList SelectionDAG::getVTList(EVT VT) {
10394 SDVTList SelectionDAG::getVTList(EVT VT1, EVT VT2) {
10403 EVT *Array = Allocator.Allocate<EVT>(2);
10412 SDVTList SelectionDAG::getVTList(EVT VT1, EVT VT2, EVT VT3) {
10422 EVT *Array = Allocator.Allocate<EVT>(3);
10432 SDVTList SelectionDAG::getVTList(EVT VT1, EVT VT2, EVT VT3, EVT VT4) {
10443 EVT *Array = Allocator.Allocate<EVT>(4);
10454 SDVTList SelectionDAG::getVTList(ArrayRef<EVT> VTs) {
10465 EVT *Array = Allocator.Allocate<EVT>(NumVTs);
10621 EVT VT) {
10627 EVT VT, SDValue Op1) {
10634 EVT VT, SDValue Op1,
10642 EVT VT, SDValue Op1,
10650 EVT VT, ArrayRef<SDValue> Ops) {
10656 EVT VT1, EVT VT2, ArrayRef<SDValue> Ops) {
10662 EVT VT1, EVT VT2) {
10668 EVT VT1, EVT VT2, EVT VT3,
10675 EVT VT1, EVT VT2,
10829 EVT VT) {
10835 EVT VT, SDValue Op1) {
10842 EVT VT, SDValue Op1, SDValue Op2) {
10849 EVT VT, SDValue Op1, SDValue Op2,
10857 EVT VT, ArrayRef<SDValue> Ops) {
10863 EVT VT1, EVT VT2, SDValue Op1,
10871 EVT VT1, EVT VT2, SDValue Op1,
10879 EVT VT1, EVT VT2,
10886 EVT VT1, EVT VT2, EVT VT3,
10894 EVT VT1, EVT VT2, EVT VT3,
10903 EVT VT1, EVT VT2, EVT VT3,
10910 ArrayRef<EVT> ResultTys,
10946 SDValue SelectionDAG::getTargetExtractSubreg(int SRIdx, const SDLoc &DL, EVT VT,
10956 SDValue SelectionDAG::getTargetInsertSubreg(int SRIdx, const SDLoc &DL, EVT VT,
11934 EVT VT = V.getValueType();
11987 EVT VT = N.getValueType();
12003 EVT VecEltVT = N->getValueType(0).getVectorElementType();
12005 EVT CVT = CN->getValueType(0);
12020 EVT CVT = CN->getValueType(0);
12021 EVT NSVT = N.getValueType().getScalarType();
12032 EVT VT = N.getValueType();
12086 SDVTList VTs, EVT memvt, MachineMemOperand *mmo)
12111 std::vector<EVT> VTs;
12124 const EVT *SDNode::getValueTypeList(EVT VT) {
12125 static std::set<EVT, EVT::compareRawBits> EVTs;
12299 EVT OpVT = Op.getValueType();
12300 EVT OpSVT = OpVT.getScalarType();
12301 EVT SubVT = EVT::getVectorVT(*getContext(), OpSVT, NumSubElts);
12381 EVT VT = N->getValueType(0);
12382 EVT EltVT = VT.getVectorElementType();
12396 EVT VT1 = N->getValueType(1);
12397 EVT EltVT1 = VT1.getVectorElementType();
12403 EVT OperandVT = Operand.getValueType();
12406 EVT OperandEltVT = OperandVT.getVectorElementType();
12431 EVT OperandVT = Operand.getValueType();
12434 EVT OperandEltVT = OperandVT.getVectorElementType();
12462 EVT ExtVT = cast<VTSDNode>(Operands[1])->getVT().getVectorElementType();
12473 EVT VecVT = EVT::getVectorVT(*getContext(), EltVT, ResNE);
12485 EVT ResVT = N->getValueType(0);
12486 EVT OvVT = N->getValueType(1);
12487 EVT ResEltVT = ResVT.getVectorElementType();
12488 EVT OvEltVT = OvVT.getVectorElementType();
12503 EVT SVT = TLI->getSetCCResultType(getDataLayout(), *getContext(), ResEltVT);
12521 EVT NewResVT = EVT::getVectorVT(*getContext(), ResEltVT, ResNE);
12522 EVT NewOvVT = EVT::getVectorVT(*getContext(), OvEltVT, ResNE);
12540 EVT VT = LD->getMemoryVT();
12593 const EVT &LoVT,
12594 const EVT &HiVT) {
12606 std::pair<EVT, EVT> SelectionDAG::GetSplitDestVTs(const EVT &VT) const {
12608 EVT LoVT, HiVT;
12620 std::pair<EVT, EVT>
12621 SelectionDAG::GetDependentSplitDestVTs(const EVT &VT, const EVT &EnvVT,
12623 EVT EltTp = VT.getVectorElementType();
12633 EVT LoVT, HiVT;
12635 LoVT = EVT::getVectorVT(*getContext(), EltTp, EnvNumElts);
12636 HiVT = EVT::getVectorVT(*getContext(), EltTp, VTNumElts - EnvNumElts);
12641 LoVT = EVT::getVectorVT(*getContext(), EltTp, VTNumElts);
12642 HiVT = EVT::getVectorVT(*getContext(), EltTp, EnvNumElts);
12651 SelectionDAG::SplitVector(const SDValue &N, const SDLoc &DL, const EVT &LoVT,
12652 const EVT &HiVT) {
12672 std::pair<SDValue, SDValue> SelectionDAG::SplitEVL(SDValue N, EVT VecVT,
12676 EVT VT = N.getValueType();
12691 EVT VT = N.getValueType();
12692 EVT WideVT = EVT::getVectorVT(*getContext(), VT.getVectorElementType(),
12701 EVT EltVT) {
12702 EVT VT = Op.getValueType();
12705 if (EltVT == EVT())
12730 EVT VT = getValueType(0);
13063 bool ShuffleVectorSDNode::isSplatMask(const int *Mask, EVT VT) {
13154 EVT VT, SDNodeFlags Flags) {