Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:NVT

95   SDValue ShuffleWithNarrowerEltType(EVT NVT, EVT VT, SDLoc dl,
189 SelectionDAGLegalize::ShuffleWithNarrowerEltType(EVT NVT, EVT VT, SDLoc dl,
193 unsigned NumDestElts = NVT.getVectorNumElements();
199 return DAG.getVectorShuffle(NVT, dl, N1, N2, &Mask[0]);
212 assert(TLI.isShuffleMaskLegal(NewMask, NVT) && "Shuffle not legal?");
213 return DAG.getVectorShuffle(NVT, dl, N1, N2, &NewMask[0]);
750 MVT NVT = TLI.getTypeToPromoteTo(ISD::STORE, VT);
751 assert(NVT.getSizeInBits() == VT.getSizeInBits() &&
753 Value = DAG.getNode(ISD::BITCAST, dl, NVT, Value);
774 EVT NVT = EVT::getIntegerVT(*DAG.getContext(),
779 NVT, isVolatile, isNonTemporal, Alignment,
917 MVT NVT = TLI.getTypeToPromoteTo(Node->getOpcode(), VT);
918 assert(NVT.getSizeInBits() == VT.getSizeInBits() &&
921 SDValue Res = DAG.getLoad(NVT, dl, Chain, Ptr, LD->getMemOperand());
956 EVT NVT = EVT::getIntegerVT(*DAG.getContext(), NewWidth);
960 // way. A zext load from NVT thus automatically gives zext from SrcVT.
968 NVT, isVolatile, isNonTemporal, Alignment, TBAAInfo);
977 else if (ExtType == ISD::ZEXTLOAD || NVT == Result.getValueType())
3158 EVT NVT = Node->getValueType(0);
3161 if (VT != MVT::f32 || NVT != MVT::i64)
3187 Sign = DAG.getSExtOrTrunc(Sign, dl, NVT);
3193 R = DAG.getZExtOrTrunc(R, dl, NVT);
3197 DAG.getNode(ISD::SHL, dl, NVT, R,
3201 DAG.getNode(ISD::SRL, dl, NVT, R,
3207 SDValue Ret = DAG.getNode(ISD::SUB, dl, NVT,
3208 DAG.getNode(ISD::XOR, dl, NVT, R, Sign),
3212 DAG.getConstant(0, NVT), Ret, ISD::SETLT));
3218 EVT NVT = Node->getValueType(0);
3221 APInt x = APInt::getSignBit(NVT.getSizeInBits());
3227 True = DAG.getNode(ISD::FP_TO_SINT, dl, NVT, Node->getOperand(0));
3228 False = DAG.getNode(ISD::FP_TO_SINT, dl, NVT,
3231 False = DAG.getNode(ISD::XOR, dl, NVT, False,
3232 DAG.getConstant(x, NVT));
3233 Tmp1 = DAG.getSelect(dl, NVT, Tmp2, True, False);
4145 MVT NVT = TLI.getTypeToPromoteTo(Node->getOpcode(), OVT);
4155 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
4158 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
4161 Tmp2 = DAG.getSetCC(dl, getSetCCResultType(NVT),
4162 Tmp1, DAG.getConstant(NVT.getSizeInBits(), NVT),
4164 Tmp1 = DAG.getSelect(dl, NVT, Tmp2,
4165 DAG.getConstant(OVT.getSizeInBits(), NVT), Tmp1);
4168 // Tmp1 = Tmp1 - (sizeinbits(NVT) - sizeinbits(Old VT))
4169 Tmp1 = DAG.getNode(ISD::SUB, dl, NVT, Tmp1,
4170 DAG.getConstant(NVT.getSizeInBits() -
4171 OVT.getSizeInBits(), NVT));
4176 unsigned DiffBits = NVT.getSizeInBits() - OVT.getSizeInBits();
4177 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
4178 Tmp1 = DAG.getNode(ISD::BSWAP, dl, NVT, Tmp1);
4179 Tmp1 = DAG.getNode(ISD::SRL, dl, NVT, Tmp1,
4180 DAG.getConstant(DiffBits, TLI.getShiftAmountTy(NVT)));
4210 Tmp1 = DAG.getVAArg(NVT, dl, Chain, Ptr, Node->getOperand(2),
4236 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
4237 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
4239 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
4246 Node->getValueType(0).getSizeInBits() == NVT.getSizeInBits()) {
4258 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
4259 Tmp3 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2));
4261 Tmp1 = DAG.getSelect(dl, NVT, Tmp1, Tmp2, Tmp3);
4274 Tmp1 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(0));
4275 Tmp2 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(1));
4278 Tmp1 = ShuffleWithNarrowerEltType(NVT, OVT, dl, Tmp1, Tmp2, Mask);
4285 if (NVT.isInteger()) {
4290 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
4291 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
4299 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
4300 NVT, Node->getOperand(1));
4301 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
4310 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
4311 Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);