Lines Matching refs:dl

241   SDLoc dl(N);
249 return DAG.getNode(ISD::BITCAST, dl, NOutVT, GetPromotedInteger(InOp));
253 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT, GetSoftenedFloat(InOp));
260 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT,
274 InOp = DAG.getNode(ISD::ANY_EXTEND, dl,
278 return DAG.getNode(ISD::BITCAST, dl, NOutVT, InOp);
285 return DAG.getNode(ISD::BITCAST, dl, NOutVT, GetWidenedVector(InOp));
288 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT,
296 SDLoc dl(N);
299 return DAG.getNode(ISD::SRL, dl, NVT, DAG.getNode(ISD::BSWAP, dl, NVT, Op),
315 SDLoc dl(N);
319 SDValue Result = DAG.getNode(Opc, dl,
341 SDLoc dl(N);
344 Op = DAG.getNode(N->getOpcode(), dl, NVT, Op);
347 ISD::SUB, dl, NVT, Op,
362 SDLoc dl(N);
369 Op = DAG.getNode(ISD::OR, dl, NVT, Op, DAG.getConstant(TopBit, NVT));
371 return DAG.getNode(N->getOpcode(), dl, NVT, Op);
375 SDLoc dl(N);
377 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, NVT, N->getOperand(0),
384 SDLoc dl(N);
395 SDValue Res = DAG.getNode(NewOpc, dl, NVT, N->getOperand(0));
401 ISD::AssertZext : ISD::AssertSext, dl, NVT, Res,
407 SDLoc dl(N);
409 SDValue Res = DAG.getNode(N->getOpcode(), dl, NVT, N->getOperand(0));
411 return DAG.getNode(ISD::AssertZext, dl,
417 SDLoc dl(N);
429 return DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, NVT, Res,
432 return DAG.getZeroExtendInReg(Res, dl,
440 return DAG.getNode(N->getOpcode(), dl, NVT, N->getOperand(0));
448 SDLoc dl(N);
449 SDValue Res = DAG.getExtLoad(ExtType, dl, NVT, N->getChain(), N->getBasePtr(),
484 SDLoc dl(N);
488 SDValue Res = DAG.getNode(Opcode, dl, NVT, LHS, RHS);
492 SDValue Ofl = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, NVT, Res,
495 Ofl = DAG.getSetCC(dl, N->getValueType(1), Ofl, Res, ISD::SETNE);
548 SDLoc dl(N);
564 SDValue SetCC = DAG.getNode(N->getOpcode(), dl, SVT, LHS, RHS,
569 return DAG.getNode(ISD::TRUNCATE, dl, NVT, SetCC);
615 SDLoc dl(N);
640 EOp1 = DAG.getNode(ISD::TRUNCATE, dl, HalfNVT, EOp1);
641 EOp2 = DAG.getNode(ISD::TRUNCATE, dl, HalfNVT, EOp2);
643 return DAG.getNode(ISD::CONCAT_VECTORS, dl, NVT, EOp1, EOp2);
647 return DAG.getNode(ISD::TRUNCATE, dl, NVT, Res);
660 SDLoc dl(N);
664 SDValue Res = DAG.getNode(Opcode, dl, NVT, LHS, RHS);
668 SDValue Ofl = DAG.getZeroExtendInReg(Res, dl, OVT);
670 Ofl = DAG.getSetCC(dl, N->getValueType(1), Ofl, Res, ISD::SETNE);
745 SDLoc dl(N);
753 Parts[i] = DAG.getVAArg(RegVT, dl, Chain, Ptr, N->getOperand(2),
764 SDValue Res = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Parts[0]);
766 SDValue Part = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Parts[i]);
768 Part = DAG.getNode(ISD::SHL, dl, NVT, Part,
771 Res = DAG.getNode(ISD::OR, dl, NVT, Res, Part);
936 SDLoc dl(N);
938 Hi = DAG.getNode(ISD::SHL, dl, N->getValueType(0), Hi,
940 return DAG.getNode(ISD::OR, dl, N->getValueType(0), Lo, Hi);
1053 SDLoc dl(N);
1054 Op = DAG.getNode(ISD::ANY_EXTEND, dl, N->getValueType(0), Op);
1055 return DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Op.getValueType(),
1067 SDLoc dl(N);
1072 return DAG.getTruncStore(Ch, dl, Val, Ptr,
1087 SDLoc dl(N);
1089 Op = DAG.getNode(ISD::ANY_EXTEND, dl, N->getValueType(0), Op);
1090 return DAG.getZeroExtendInReg(Op, dl,
1420 SDLoc dl(N);
1438 Amt = DAG.getNode(ISD::AND, dl, ShTy, Amt,
1445 Hi = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt); // High part from Lo part.
1449 Lo = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt); // Lo part from Hi part.
1452 Hi = DAG.getNode(ISD::SRA, dl, NVT, InH, // Sign extend high part.
1454 Lo = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt); // Lo part from Hi part.
1465 SDValue Amt2 = DAG.getNode(ISD::XOR, dl, ShTy, Amt,
1482 SDValue Sh1 = DAG.getNode(Op2, dl, NVT, InL, DAG.getConstant(1, ShTy));
1484 SDValue Sh2 = DAG.getNode(Op2, dl, NVT, Sh1, Amt2);
1486 Lo = DAG.getNode(N->getOpcode(), dl, NVT, InL, Amt);
1487 Hi = DAG.getNode(ISD::OR, dl, NVT, DAG.getNode(Op1, dl, NVT, InH, Amt),Sh2);
1507 SDLoc dl(N);
1514 SDValue AmtExcess = DAG.getNode(ISD::SUB, dl, ShTy, Amt, NVBitsNode);
1515 SDValue AmtLack = DAG.getNode(ISD::SUB, dl, ShTy, NVBitsNode, Amt);
1516 SDValue isShort = DAG.getSetCC(dl, getSetCCResultType(ShTy),
1524 LoS = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt);
1525 HiS = DAG.getNode(ISD::OR, dl, NVT,
1526 DAG.getNode(ISD::SHL, dl, NVT, InH, Amt),
1529 DAG.getNode(ISD::SRL, dl, NVT, InL, AmtLack));
1533 HiL = DAG.getNode(ISD::SHL, dl, NVT, InL, AmtExcess); // Hi from Lo part.
1535 Lo = DAG.getSelect(dl, NVT, isShort, LoS, LoL);
1536 Hi = DAG.getSelect(dl, NVT, isShort, HiS, HiL);
1540 HiS = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt);
1541 LoS = DAG.getNode(ISD::OR, dl, NVT,
1542 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
1545 DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
1549 LoL = DAG.getNode(ISD::SRL, dl, NVT, InH, AmtExcess); // Lo from Hi part.
1551 Lo = DAG.getSelect(dl, NVT, isShort, LoS, LoL);
1552 Hi = DAG.getSelect(dl, NVT, isShort, HiS, HiL);
1556 HiS = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt);
1557 LoS = DAG.getNode(ISD::OR, dl, NVT,
1558 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
1561 DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
1564 HiL = DAG.getNode(ISD::SRA, dl, NVT, InH, // Sign of Hi part.
1566 LoL = DAG.getNode(ISD::SRA, dl, NVT, InH, AmtExcess); // Lo from Hi part.
1568 Lo = DAG.getSelect(dl, NVT, isShort, LoS, LoL);
1569 Hi = DAG.getSelect(dl, NVT, isShort, HiS, HiL);
1576 SDLoc dl(N);
1599 Lo = DAG.getNode(ISD::ADDC, dl, VTList, LoOps);
1601 Hi = DAG.getNode(ISD::ADDE, dl, VTList, HiOps);
1603 Lo = DAG.getNode(ISD::SUBC, dl, VTList, LoOps);
1605 Hi = DAG.getNode(ISD::SUBE, dl, VTList, HiOps);
1611 Lo = DAG.getNode(ISD::ADD, dl, NVT, LoOps);
1612 Hi = DAG.getNode(ISD::ADD, dl, NVT, makeArrayRef(HiOps, 2));
1613 SDValue Cmp1 = DAG.getSetCC(dl, getSetCCResultType(NVT), Lo, LoOps[0],
1615 SDValue Carry1 = DAG.getSelect(dl, NVT, Cmp1,
1618 SDValue Cmp2 = DAG.getSetCC(dl, getSetCCResultType(NVT), Lo, LoOps[1],
1620 SDValue Carry2 = DAG.getSelect(dl, NVT, Cmp2,
1622 Hi = DAG.getNode(ISD::ADD, dl, NVT, Hi, Carry2);
1624 Lo = DAG.getNode(ISD::SUB, dl, NVT, LoOps);
1625 Hi = DAG.getNode(ISD::SUB, dl, NVT, makeArrayRef(HiOps, 2));
1627 DAG.getSetCC(dl, getSetCCResultType(LoOps[0].getValueType()),
1629 SDValue Borrow = DAG.getSelect(dl, NVT, Cmp,
1632 Hi = DAG.getNode(ISD::SUB, dl, NVT, Hi, Borrow);
1640 SDLoc dl(N);
1648 Lo = DAG.getNode(ISD::ADDC, dl, VTList, LoOps);
1650 Hi = DAG.getNode(ISD::ADDE, dl, VTList, HiOps);
1652 Lo = DAG.getNode(ISD::SUBC, dl, VTList, LoOps);
1654 Hi = DAG.getNode(ISD::SUBE, dl, VTList, HiOps);
1666 SDLoc dl(N);
1673 Lo = DAG.getNode(N->getOpcode(), dl, VTList, LoOps);
1675 Hi = DAG.getNode(N->getOpcode(), dl, VTList, HiOps);
1691 SDLoc dl(N);
1695 Lo = DAG.getNode(ISD::ANY_EXTEND, dl, NVT, Op);
1713 SDLoc dl(N);
1721 Hi = DAG.getNode(ISD::AssertSext, dl, NVT, Hi,
1725 Lo = DAG.getNode(ISD::AssertSext, dl, NVT, Lo, DAG.getValueType(EVT));
1727 Hi = DAG.getNode(ISD::SRA, dl, NVT, Lo,
1734 SDLoc dl(N);
1742 Hi = DAG.getNode(ISD::AssertZext, dl, NVT, Hi,
1746 Lo = DAG.getNode(ISD::AssertZext, dl, NVT, Lo, DAG.getValueType(EVT));
1754 SDLoc dl(N);
1756 Lo = DAG.getNode(ISD::BSWAP, dl, Lo.getValueType(), Lo);
1757 Hi = DAG.getNode(ISD::BSWAP, dl, Hi.getValueType(), Hi);
1775 SDLoc dl(N);
1780 SDValue HiNotZero = DAG.getSetCC(dl, getSetCCResultType(NVT), Hi,
1783 SDValue LoLZ = DAG.getNode(N->getOpcode(), dl, NVT, Lo);
1784 SDValue HiLZ = DAG.getNode(ISD::CTLZ_ZERO_UNDEF, dl, NVT, Hi);
1786 Lo = DAG.getSelect(dl, NVT, HiNotZero, HiLZ,
1787 DAG.getNode(ISD::ADD, dl, NVT, LoLZ,
1794 SDLoc dl(N);
1798 Lo = DAG.getNode(ISD::ADD, dl, NVT, DAG.getNode(ISD::CTPOP, dl, NVT, Lo),
1799 DAG.getNode(ISD::CTPOP, dl, NVT, Hi));
1805 SDLoc dl(N);
1810 SDValue LoNotZero = DAG.getSetCC(dl, getSetCCResultType(NVT), Lo,
1813 SDValue LoLZ = DAG.getNode(ISD::CTTZ_ZERO_UNDEF, dl, NVT, Lo);
1814 SDValue HiLZ = DAG.getNode(N->getOpcode(), dl, NVT, Hi);
1816 Lo = DAG.getSelect(dl, NVT, LoNotZero, LoLZ,
1817 DAG.getNode(ISD::ADD, dl, NVT, HiLZ,
1824 SDLoc dl(N);
1830 dl).first,
1836 SDLoc dl(N);
1842 dl).first,
1865 SDLoc dl(N);
1872 Lo = DAG.getExtLoad(ExtType, dl, NVT, Ch, Ptr, N->getPointerInfo(),
1882 Hi = DAG.getNode(ISD::SRA, dl, NVT, Lo,
1894 Lo = DAG.getLoad(NVT, dl, Ch, Ptr, N->getPointerInfo(),
1904 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
1906 Hi = DAG.getExtLoad(ExtType, dl, NVT, Ch, Ptr,
1913 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
1924 Hi = DAG.getExtLoad(ExtType, dl, NVT, Ch, Ptr, N->getPointerInfo(),
1930 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
1933 Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, NVT, Ch, Ptr,
1941 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
1946 Lo = DAG.getNode(ISD::OR, dl, NVT, Lo,
1947 DAG.getNode(ISD::SHL, dl, NVT, Hi,
1951 Hi = DAG.getNode(ExtType == ISD::SEXTLOAD ? ISD::SRA : ISD::SRL, dl,
1965 SDLoc dl(N);
1969 Lo = DAG.getNode(N->getOpcode(), dl, LL.getValueType(), LL, RL);
1970 Hi = DAG.getNode(N->getOpcode(), dl, LL.getValueType(), LH, RH);
1977 SDLoc dl(N);
2000 dl).first,
2008 SDLoc dl(Node);
2013 ISD::ADD : ISD::SUB, dl, LHS.getValueType(),
2031 SDValue LHSSign = DAG.getSetCC(dl, OType, LHS, Zero, ISD::SETGE);
2032 SDValue RHSSign = DAG.getSetCC(dl, OType, RHS, Zero, ISD::SETGE);
2033 SDValue SignsMatch = DAG.getSetCC(dl, OType, LHSSign, RHSSign,
2037 SDValue SumSign = DAG.getSetCC(dl, OType, Sum, Zero, ISD::SETGE);
2038 SDValue SumSignNE = DAG.getSetCC(dl, OType, LHSSign, SumSign, ISD::SETNE);
2040 SDValue Cmp = DAG.getNode(ISD::AND, dl, OType, SignsMatch, SumSignNE);
2049 SDLoc dl(N);
2063 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, 2, true, dl).first, Lo, Hi);
2069 SDLoc dl(N);
2112 ShiftOp = DAG.getZExtOrTrunc(ShiftOp, dl, ShiftTy);
2115 Lo = DAG.getNode(PartsOpc, dl, DAG.getVTList(VT, VT), Ops);
2158 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, 2, isSigned, dl).first, Lo,
2170 SDLoc dl(N);
2174 Lo = DAG.getNode(ISD::SIGN_EXTEND, dl, NVT, N->getOperand(0));
2177 Hi = DAG.getNode(ISD::SRA, dl, NVT, Lo,
2192 Hi = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Hi.getValueType(), Hi,
2200 SDLoc dl(N);
2206 Lo = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Lo.getValueType(), Lo,
2211 Hi = DAG.getNode(ISD::SRA, dl, Hi.getValueType(), Lo,
2219 Hi = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Hi.getValueType(), Hi,
2228 SDLoc dl(N);
2242 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, 2, true, dl).first, Lo, Hi);
2248 SDLoc dl(N);
2249 Lo = DAG.getNode(ISD::TRUNCATE, dl, NVT, N->getOperand(0));
2250 Hi = DAG.getNode(ISD::SRL, dl,
2253 Hi = DAG.getNode(ISD::TRUNCATE, dl, NVT, Hi);
2260 SDLoc dl(N);
2265 ISD::ADD : ISD::SUB, dl, LHS.getValueType(),
2271 SDValue Ofl = DAG.getSetCC(dl, N->getValueType(1), Sum, LHS,
2282 SDLoc dl(N);
2288 SDValue MUL = DAG.getNode(ISD::MUL, dl, LHS.getValueType(), LHS, RHS);
2293 SDValue isZero = DAG.getSetCC(dl, getSetCCResultType(VT),
2295 SDValue NotZero = DAG.getSelect(dl, VT, isZero,
2297 SDValue DIV = DAG.getNode(ISD::UDIV, dl, VT, MUL, NotZero);
2298 SDValue Overflow = DAG.getSetCC(dl, N->getValueType(1), DIV, LHS,
2300 Overflow = DAG.getSelect(dl, N->getValueType(1), isZero,
2323 SDValue Chain = DAG.getStore(DAG.getEntryNode(), dl,
2349 CLI.setDebugLoc(dl).setChain(Chain)
2356 SDValue Temp2 = DAG.getLoad(PtrVT, dl, CallInfo.second, Temp,
2358 SDValue Ofl = DAG.getSetCC(dl, N->getValueType(1), Temp2,
2368 SDLoc dl(N);
2382 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, 2, false, dl).first, Lo, Hi);
2388 SDLoc dl(N);
2402 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, 2, false, dl).first, Lo, Hi);
2408 SDLoc dl(N);
2412 Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, N->getOperand(0));
2427 Hi = DAG.getZeroExtendInReg(Hi, dl,
2435 SDLoc dl(N);
2440 ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, dl,
2518 SDLoc dl) {
2528 NewLHS = DAG.getNode(ISD::AND, dl,
2536 NewLHS = DAG.getNode(ISD::XOR, dl, LHSLo.getValueType(), LHSLo, RHSLo);
2537 NewRHS = DAG.getNode(ISD::XOR, dl, LHSLo.getValueType(), LHSHi, RHSHi);
2538 NewLHS = DAG.getNode(ISD::OR, dl, NewLHS.getValueType(), NewLHS, NewRHS);
2579 LHSLo, RHSLo, LowCC, false, DagCombineInfo, dl);
2581 Tmp1 = DAG.getSetCC(dl, getSetCCResultType(LHSLo.getValueType()),
2586 LHSHi, RHSHi, CCCode, false, DagCombineInfo, dl);
2588 Tmp2 = DAG.getNode(ISD::SETCC, dl,
2611 DagCombineInfo, dl);
2613 NewLHS = DAG.getSetCC(dl, getSetCCResultType(LHSHi.getValueType()),
2615 NewLHS = DAG.getSelect(dl, Tmp1.getValueType(),
2715 SDLoc dl(N);
2722 return DAG.getTruncStore(Ch, dl, Lo, Ptr, N->getPointerInfo(),
2731 Lo = DAG.getStore(Ch, dl, Lo, Ptr, N->getPointerInfo(),
2740 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
2742 Hi = DAG.getTruncStore(Ch, dl, Hi, Ptr,
2746 return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
2762 Hi = DAG.getNode(ISD::SHL, dl, NVT, Hi,
2765 Hi = DAG.getNode(ISD::OR, dl, NVT, Hi,
2766 DAG.getNode(ISD::SRL, dl, NVT, Lo,
2772 Hi = DAG.getTruncStore(Ch, dl, Hi, Ptr, N->getPointerInfo(),
2776 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
2779 Lo = DAG.getTruncStore(Ch, dl, Lo, Ptr,
2784 return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
2798 SDLoc dl(N);
2807 SDValue SignedConv = DAG.getNode(ISD::SINT_TO_FP, dl, DstVT, Op);
2831 SDValue SignSet = DAG.getSetCC(dl,
2845 SDValue Offset = DAG.getSelect(dl, Zero.getValueType(), SignSet,
2848 FudgePtr = DAG.getNode(ISD::ADD, dl, FudgePtr.getValueType(),
2854 SDValue Fudge = DAG.getExtLoad(ISD::EXTLOAD, dl, DstVT, DAG.getEntryNode(),
2859 return DAG.getNode(ISD::FADD, dl, DstVT, SignedConv, Fudge);
2866 return TLI.makeLibCall(DAG, LC, DstVT, &Op, 1, true, dl).first;
2870 SDLoc dl(N);
2871 SDValue Swap = DAG.getAtomic(ISD::ATOMIC_SWAP, dl,
2892 SDLoc dl(N);
2900 SDValue Index = DAG.getNode(ISD::ADD, dl, BaseIdx.getValueType(),
2902 SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
2905 SDValue Op = DAG.getNode(ISD::ANY_EXTEND, dl, NOutVTElem, Ext);
2910 return DAG.getNode(ISD::BUILD_VECTOR, dl, NOutVT, Ops);
2917 SDLoc dl(N);
2929 return DAG.getVectorShuffle(OutVT, dl, V0, V1, &NewMask[0]);
2940 SDLoc dl(N);
2951 Op = DAG.getNode(ISD::ANY_EXTEND, dl, NOutVTElem, N->getOperand(i));
2957 return DAG.getNode(ISD::BUILD_VECTOR, dl, NOutVT, Ops);
2962 SDLoc dl(N);
2972 SDValue Op = DAG.getNode(ISD::ANY_EXTEND, dl, NOutVTElem, N->getOperand(0));
2974 return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, NOutVT, Op);
2978 SDLoc dl(N);
2998 SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
3001 Ops[i * NumElem + j] = DAG.getNode(ISD::ANY_EXTEND, dl, OutElemTy, Ext);
3005 return DAG.getNode(ISD::BUILD_VECTOR, dl, NOutVT, Ops);
3015 SDLoc dl(N);
3018 SDValue ConvElem = DAG.getNode(ISD::ANY_EXTEND, dl,
3020 return DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, NOutVT,
3025 SDLoc dl(N);
3027 SDValue V1 = DAG.getZExtOrTrunc(N->getOperand(1), dl, TLI.getVectorIdxTy());
3028 SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
3034 return DAG.getAnyExtOrTrunc(Ext, dl, N->getValueType(0));
3038 SDLoc dl(N);
3054 SDValue Ex = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, SclrTy,
3056 SDValue Tr = DAG.getNode(ISD::TRUNCATE, dl, RetSclrTy, Ex);
3061 return DAG.getNode(ISD::BUILD_VECTOR, dl, N->getValueType(0), NewOps);