Home | History | Annotate | Download | only in ARM

Lines Matching full:getnode

1312       Val = DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi);
1315 SDValue Vec = DAG.getNode(ISD::UNDEF, dl, MVT::v2f64);
1316 Vec = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, MVT::v2f64, Vec, Val,
1327 Val = DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi);
1328 Val = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, MVT::v2f64, Vec, Val,
1342 Val = DAG.getNode(ISD::BITCAST, dl, VA.getValVT(), Val);
1361 PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr, PtrOff);
1375 SDValue fmrrd = DAG.getNode(ARMISD::VMOVRRD, dl,
1383 if (StackPtr.getNode() == 0)
1471 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg);
1474 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg);
1477 Arg = DAG.getNode
1480 Arg = DAG.getNode(ISD::BITCAST, dl, VA.getLocVT(), Arg);
1487 SDValue Op0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64, Arg,
1489 SDValue Op1 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64, Arg,
1536 SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const);
1554 SDValue Dst = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr,
1557 SDValue Src = DAG.getNode(ISD::ADD, dl, getPointerTy(), Arg, SrcOffset);
1564 MemOpChains.push_back(DAG.getNode(ARMISD::COPY_STRUCT_BYVAL, dl, VTs,
1576 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
1633 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
1648 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
1669 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
1675 Callee = DAG.getNode(ARMISD::PIC_ADD, dl,
1698 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
1704 Callee = DAG.getNode(ARMISD::PIC_ADD, dl,
1767 if (InFlag.getNode())
1772 return DAG.getNode(ARMISD::TC_RETURN, dl, NodeTys, &Ops[0], Ops.size());
1775 Chain = DAG.getNode(CallOpc, dl, NodeTys, &Ops[0], Ops.size());
2099 Arg = DAG.getNode(ISD::BITCAST, dl, VA.getLocVT(), Arg);
2106 SDValue Half = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64, Arg,
2108 SDValue HalfGPRs = DAG.getNode(ARMISD::VMOVRRD, dl,
2122 Arg = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64, Arg,
2127 SDValue fmrrd = DAG.getNode(ARMISD::VMOVRRD, dl,
2146 if (Flag.getNode())
2149 return DAG.getNode(ARMISD::RET_FLAG, dl, MVT::Other,
2183 if (Copies.count(UseChain.getNode()))
2245 return DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Res);
2272 CPAddr = DAG.getNode(ARMISD::Wrapper, DL, PtrVT, CPAddr);
2279 return DAG.getNode(ARMISD::PIC_ADD, DL, PtrVT, Result, PICLabel);
2296 Argument = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Argument);
2303 Argument = DAG.getNode(ARMISD::PIC_ADD, dl, PtrVT, Argument, PICLabel);
2334 SDValue ThreadPointer = DAG.getNode(ARMISD::THREAD_POINTER, dl, PtrVT);
2347 Offset = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Offset);
2354 Offset = DAG.getNode(ARMISD::PIC_ADD, dl, PtrVT, Offset, PICLabel);
2365 Offset = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Offset);
2373 return DAG.getNode(ISD::ADD, dl, PtrVT, ThreadPointer, Offset);
2407 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2414 Result = DAG.getNode(ISD::ADD, dl, PtrVT, Result, GOT);
2428 return DAG.getNode(ARMISD::Wrapper, dl, PtrVT,
2432 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2453 return DAG.getNode(ARMISD::Wrapper, dl, PtrVT,
2458 SDValue Result = DAG.getNode(Wrapper, dl, PtrVT,
2480 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2489 Result = DAG.getNode(ARMISD::PIC_ADD, dl, PtrVT, Result, PICLabel);
2513 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2518 return DAG.getNode(ARMISD::PIC_ADD, dl, PtrVT, Result, PICLabel);
2525 return DAG.getNode(ARMISD::EH_SJLJ_SETJMP, dl,
2533 return DAG.getNode(ARMISD::EH_SJLJ_LONGJMP, dl, MVT::Other, Op.getOperand(0),
2546 return DAG.getNode(ARMISD::THREAD_POINTER, dl, PtrVT);
2561 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2569 Result = DAG.getNode(ARMISD::PIC_ADD, dl, PtrVT, Result, PICLabel);
2577 return DAG.getNode(NewOpc, SDLoc(Op), Op.getValueType(),
2593 return DAG.getNode(ARMISD::MEMBARRIER_MCR, dl, MVT::Other, Op.getOperand(0),
2607 return DAG.getNode(ARMISD::MEMBARRIER, dl, MVT::Other, Op.getOperand(0),
2633 return DAG.getNode(ARMISD::PRELOAD, dl, MVT::Other, Op.getOperand(0),
2684 return DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, ArgValue, ArgValue2);
2818 FIN = DAG.getNode(ISD::ADD, dl, getPointerTy(), FIN,
2825 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
2913 ArgValue = DAG.getNode(ISD::UNDEF, dl, MVT::v2f64);
2914 ArgValue = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, MVT::v2f64,
2916 ArgValue = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, MVT::v2f64,
2949 ArgValue = DAG.getNode(ISD::BITCAST, dl, VA.getValVT(), ArgValue);
2952 ArgValue = DAG.getNode(ISD::AssertSext, dl, RegVT, ArgValue,
2954 ArgValue = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), ArgValue);
2957 ArgValue = DAG.getNode(ISD::AssertZext, dl, RegVT, ArgValue,
2959 ArgValue = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), ArgValue);
3023 getNode()) || ISD::isNON_EXTLoad(Op.getNode())) {
3041 if (ConstantSDNode *RHSC = dyn_cast<ConstantSDNode>(RHS.getNode())) {
3092 return DAG.getNode(CompareType, dl, MVT::Glue, LHS, RHS);
3101 Cmp = DAG.getNode(ARMISD::CMPFP, dl, MVT::Glue, LHS, RHS);
3103 Cmp = DAG.getNode(ARMISD::CMPFPw0, dl, MVT::Glue, LHS);
3104 return DAG.getNode(ARMISD::FMSTAT, dl, MVT::Glue, Cmp);
3114 return DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
3120 Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
3123 Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0));
3125 return DAG.getNode(ARMISD::FMSTAT, DL, MVT::Glue, Cmp);
3159 if (True.getNode() && False.getNode()) {
3165 return DAG.getNode(ARMISD::CMOV, dl, VT, True, False, ARMcc, CCR, Cmp);
3172 Cond = DAG.getNode(ISD::AND, dl, Cond.getValueType(), Cond,
3193 return DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, TrueVal, ARMcc, CCR,Cmp);
3202 SDValue Result = DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, TrueVal,
3208 Result = DAG.getNode(ARMISD::CMOV, dl, VT,
3218 SDNode *N = Op.getNode();
3268 SDValue NewPtr = DAG.getNode(ISD::ADD, SDLoc(Op),
3308 LHS = DAG.getNode(ISD::AND, dl, MVT::i32,
3310 RHS = DAG.getNode(ISD::AND, dl, MVT::i32,
3314 return DAG.getNode(ARMISD::BRCOND, dl, MVT::Other,
3322 LHS2 = DAG.getNode(ISD::AND, dl, MVT::i32, LHS2, Mask);
3323 RHS2 = DAG.getNode(ISD::AND, dl, MVT::i32, RHS2, Mask);
3328 return DAG.getNode(ARMISD::BCC_i64, dl, VTList, Ops, 7);
3346 return DAG.getNode(ARMISD::BRCOND, dl, MVT::Other,
3356 if (Result.getNode())
3368 SDValue Res = DAG.getNode(ARMISD::BRCOND, dl, VTList, Ops, 5);
3372 Res = DAG.getNode(ARMISD::BRCOND, dl, VTList, Ops, 5);
3388 Table = DAG.getNode(ARMISD::WrapperJT, dl, MVT::i32, JTI, UId);
3389 Index = DAG.getNode(ISD::MUL, dl, PTy, Index, DAG.getConstant(4, PTy));
3390 SDValue Addr = DAG.getNode(ISD::ADD, dl, PTy, Index, Table);
3396 return DAG.getNode(ARMISD::BR2_JT, dl, MVT::Other, Chain,
3404 Addr = DAG.getNode(ISD::ADD, dl, PTy, Addr, Table);
3405 return DAG.getNode(ARMISD::BR_JT, dl, MVT::Other, Chain, Addr, JTI, UId);
3411 return DAG.getNode(ARMISD::BR_JT, dl, MVT::Other, Chain, Addr, JTI, UId);
3422 return DAG.UnrollVectorOp(Op.getNode());
3428 return DAG.UnrollVectorOp(Op.getNode());
3430 Op = DAG.getNode(Op.getOpcode(), dl, MVT::v4i32, Op.getOperand(0));
3431 return DAG.getNode(ISD::TRUNCATE, dl, VT, Op);
3451 Op = DAG.getNode(Opc, dl, MVT::f32, Op.getOperand(0));
3452 return DAG.getNode(ISD::BITCAST, dl, MVT::i32, Op);
3462 return DAG.UnrollVectorOp(Op.getNode());
3468 return DAG.UnrollVectorOp(Op.getNode());
3484 Op = DAG.getNode(CastOpc, dl, MVT::v4i32, Op.getOperand(0));
3485 return DAG.getNode(Opc, dl, VT, Op);
3506 Op = DAG.getNode(ISD::BITCAST, dl, MVT::f32, Op.getOperand(0));
3507 return DAG.getNode(Opc, dl, VT, Op);
3524 SDValue Mask = DAG.getNode(ARMISD::VMOVIMM, dl, MVT::v2i32,
3528 Mask = DAG.getNode(ARMISD::VSHL, dl, OpVT,
3529 DAG.getNode(ISD::BITCAST, dl, OpVT, Mask),
3532 Tmp0 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2f32, Tmp0);
3534 Tmp1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2f32, Tmp1);
3536 Tmp1 = DAG.getNode(ARMISD::VSHL, dl, OpVT,
3537 DAG.getNode(ISD::BITCAST, dl, OpVT, Tmp1),
3540 Tmp1 = DAG.getNode(ARMISD::VSHRu, dl, MVT::v1i64,
3541 DAG.getNode(ISD::BITCAST, dl, MVT::v1i64, Tmp1),
3543 Tmp0 = DAG.getNode(ISD::BITCAST, dl, OpVT, Tmp0);
3544 Tmp1 = DAG.getNode(ISD::BITCAST, dl, OpVT, Tmp1);
3548 AllOnes = DAG.getNode(ARMISD::VMOVIMM, dl, MVT::v8i8, AllOnes);
3549 SDValue MaskNot = DAG.getNode(ISD::XOR, dl, OpVT, Mask,
3550 DAG.getNode(ISD::BITCAST, dl, OpVT, AllOnes));
3552 SDValue Res = DAG.getNode(ISD::OR, dl, OpVT,
3553 DAG.getNode(ISD::AND, dl, OpVT, Tmp1, Mask),
3554 DAG.getNode(ISD::AND, dl, OpVT, Tmp0, MaskNot));
3556 Res = DAG.getNode(ISD::BITCAST, dl, MVT::v2f32, Res);
3557 Res = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f32, Res,
3560 Res = DAG.getNode(ISD::BITCAST, dl, MVT::f64, Res);
3568 Tmp1 = DAG.getNode(ARMISD::VMOVRRD, dl, DAG.getVTList(MVT::i32, MVT::i32),
3570 Tmp1 = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Tmp1);
3575 Tmp1 = DAG.getNode(ISD::AND, dl, MVT::i32, Tmp1, Mask1);
3577 Tmp0 = DAG.getNode(ISD::AND, dl, MVT::i32,
3578 DAG.getNode(ISD::BITCAST, dl, MVT::i32, Tmp0), Mask2);
3579 return DAG.getNode(ISD::BITCAST, dl, MVT::f32,
3580 DAG.getNode(ISD::OR, dl, MVT::i32, Tmp0, Tmp1));
3584 Tmp0 = DAG.getNode(ARMISD::VMOVRRD, dl, DAG.getVTList(MVT::i32, MVT::i32),
3587 SDValue Hi = DAG.getNode(ISD::AND, dl, MVT::i32, Tmp0.getValue(1), Mask2);
3588 Hi = DAG.getNode(ISD::OR, dl, MVT::i32, Hi, Tmp1);
3589 return DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi);
3604 DAG.getNode(ISD::ADD, dl, VT, FrameAddr, Offset),
3661 Mid = DAG.getNode(N->getOpcode(), dl, MidVT, Op);
3662 SplitLo = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, SplitVT, Mid,
3664 SplitHi = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, SplitVT, Mid,
3666 ExtLo = DAG.getNode(N->getOpcode(), dl, ExtVT, SplitLo);
3667 ExtHi = DAG.getNode(N->getOpcode(), dl, ExtVT, SplitHi);
3668 return DAG.getNode(ISD::CONCAT_VECTORS, dl, DestVT, ExtLo, ExtHi);
3690 SDValue Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32, Op,
3692 SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32, Op,
3694 return DAG.getNode(ISD::BITCAST, dl, DstVT,
3695 DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi));
3700 SDValue Cvt = DAG.getNode(ARMISD::VMOVRRD, dl,
3703 return DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, Cvt, Cvt.getValue(1));
3720 SDValue Vmov = DAG.getNode(ARMISD::VMOVIMM, dl, VmovVT, EncodedVal);
3721 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
3740 SDValue RevShAmt = DAG.getNode(ISD::SUB, dl, MVT::i32,
3742 SDValue Tmp1 = DAG.getNode(ISD::SRL, dl, VT, ShOpLo, ShAmt);
3743 SDValue ExtraShAmt = DAG.getNode(ISD::SUB, dl, MVT::i32, ShAmt,
3745 SDValue Tmp2 = DAG.getNode(ISD::SHL, dl, VT, ShOpHi, RevShAmt);
3746 SDValue FalseVal = DAG.getNode(ISD::OR, dl, VT, Tmp1, Tmp2);
3747 SDValue TrueVal = DAG.getNode(Opc, dl, VT, ShOpHi, ExtraShAmt);
3752 SDValue Hi = DAG.getNode(Opc, dl, VT, ShOpHi, ShAmt);
3753 SDValue Lo = DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, TrueVal, ARMcc,
3774 SDValue RevShAmt = DAG.getNode(ISD::SUB, dl, MVT::i32,
3776 SDValue Tmp1 = DAG.getNode(ISD::SRL, dl, VT, ShOpLo, RevShAmt);
3777 SDValue ExtraShAmt = DAG.getNode(ISD::SUB, dl, MVT::i32, ShAmt,
3779 SDValue Tmp2 = DAG.getNode(ISD::SHL, dl, VT, ShOpHi, ShAmt);
3780 SDValue Tmp3 = DAG.getNode(ISD::SHL, dl, VT, ShOpLo, ExtraShAmt);
3782 SDValue FalseVal = DAG.getNode(ISD::OR, dl, VT, Tmp1, Tmp2);
3786 SDValue Lo = DAG.getNode(ISD::SHL, dl, VT, ShOpLo, ShAmt);
3787 SDValue Hi = DAG.getNode(ARMISD::CMOV, dl, VT, FalseVal, Tmp3, ARMcc,
3801 SDValue FPSCR = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::i32,
3804 SDValue FltRounds = DAG.getNode(ISD::ADD, dl, MVT::i32, FPSCR,
3806 SDValue RMODE = DAG.getNode(ISD::SRL, dl, MVT::i32, FltRounds,
3808 return DAG.getNode(ISD::AND, dl, MVT::i32, RMODE,
3820 SDValue rbit = DAG.getNode(ARMISD::RBIT, dl, VT, N->getOperand(0));
3821 return DAG.getNode(ISD::CTLZ, dl, VT, rbit);
3842 SDValue N0 = DAG.getNode(ISD::BITCAST, DL, VT8Bit, N->getOperand(0));
3843 SDValue N1 = DAG.getNode(ISD::CTPOP, DL, VT8Bit, N0);
3844 SDValue N2 = DAG.getNode(ARMISD::VREV16, DL, VT8Bit, N1);
3845 SDValue N3 = DAG.getNode(ISD::ADD, DL, VT8Bit, N1, N2);
3846 return DAG.getNode(ARMISD::VUZP, DL, VT8Bit, N3, N3);
3865 SDValue Extended = DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::v8i16, BitCounts);
3866 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v4i16, Extended,
3869 SDValue Extracted = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v8i8,
3871 return DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::v8i16, Extracted);
3900 SDValue Bitcast = DAG.getNode(ISD::BITCAST, DL, VT16Bit, N->getOperand(0));
3901 SDValue Counts16 = lowerCTPOP16BitElements(Bitcast.getNode(), DAG);
3902 SDValue N0 = DAG.getNode(ARMISD::VREV32, DL, VT16Bit, Counts16);
3903 SDValue N1 = DAG.getNode(ISD::ADD, DL, VT16Bit, Counts16, N0);
3904 SDValue N2 = DAG.getNode(ARMISD::VUZP, DL, VT16Bit, N1, N1);
3907 SDValue Extended = DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::v4i32, N2);
3908 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v2i32, Extended,
3911 SDValue Extracted = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v4i16, N2,
3913 return DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::v4i32, Extracted);
3945 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, VT,
3956 SDValue NegatedCount = DAG.getNode(ISD::SUB, dl, ShiftVT,
3962 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, VT,
3988 SDValue Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32, N->getOperand(0),
3990 SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32, N->getOperand(0),
3996 Hi = DAG.getNode(Opc, dl, DAG.getVTList(MVT::i32, MVT::Glue), &Hi, 1);
3999 Lo = DAG.getNode(ARMISD::RRX, dl, MVT::i32, Lo, Hi.getValue(1));
4002 return DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, Lo, Hi);
4043 Op0 = DAG.getNode(ARMISD::VCGT, dl, VT, TmpOp1, TmpOp0);
4044 Op1 = DAG.getNode(ARMISD::VCGT, dl, VT, TmpOp0, TmpOp1);
4052 Op0 = DAG.getNode(ARMISD::VCGT, dl, VT, TmpOp1, TmpOp0);
4053 Op1 = DAG.getNode(ARMISD::VCGE, dl, VT, TmpOp0, TmpOp1);
4076 if (ISD::isBuildVectorAllZeros(Op1.getNode()))
4078 else if (ISD::isBuildVectorAllZeros(Op0.getNode()))
4082 if (AndOp.getNode() && AndOp.getOpcode() == ISD::BITCAST)
4085 if (AndOp.getNode() && AndOp.getOpcode() == ISD::AND) {
4087 Op0 = DAG.getNode(ISD::BITCAST, dl, VT, AndOp.getOperand(0));
4088 Op1 = DAG.getNode(ISD::BITCAST, dl, VT, AndOp.getOperand(1));
4100 if (ISD::isBuildVectorAllZeros(Op1.getNode()))
4102 else if (ISD::isBuildVectorAllZeros(Op0.getNode())) {
4111 if (SingleOp.getNode()) {
4114 Result = DAG.getNode(ARMISD::VCEQZ, dl, VT, SingleOp); break;
4116 Result = DAG.getNode(ARMISD::VCGEZ, dl, VT, SingleOp); break;
4118 Result = DAG.getNode(ARMISD::VCLEZ, dl, VT, SingleOp); break;
4120 Result = DAG.getNode(ARMISD::VCGTZ, dl, VT, SingleOp); break;
4122 Result = DAG.getNode(ARMISD::VCLTZ, dl, VT, SingleOp); break;
4124 Result = DAG.getNode(Opc, dl, VT, Op0, Op1);
4127 Result = DAG.getNode(Opc, dl, VT, Op0, Op1);
4287 SDValue VecConstant = DAG.getNode(ARMISD::VMOVFPIMM, DL, MVT::v2f32,
4289 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, VecConstant,
4300 SDValue VecConstant = DAG.getNode(ARMISD::VMOVIMM, DL, VMovVT,
4302 SDValue VecFConstant = DAG.getNode(ISD::BITCAST, DL, MVT::v2f32,
4304 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, VecFConstant,
4313 SDValue VecConstant = DAG.getNode(ARMISD::VMVNIMM, DL, VMovVT, NewVal);
4314 SDValue VecFConstant = DAG.getNode(ISD::BITCAST, DL, MVT::v2f32,
4316 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, VecFConstant,
4592 BuildVectorSDNode *BVN = cast<BuildVectorSDNode>(Op.getNode());
4607 if (Val.getNode()) {
4608 SDValue Vmov = DAG.getNode(ARMISD::VMOVIMM, dl, VmovVT, Val);
4609 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
4618 if (Val.getNode()) {
4619 SDValue Vmov = DAG.getNode(ARMISD::VMVNIMM, dl, VmovVT, Val);
4620 return DAG.getNode(ISD::BITCAST, dl, VT, Vmov);
4628 return DAG.getNode(ARMISD::VMOVFPIMM, dl, VT, Val);
4671 if (!Value.getNode() && ValueCounts.size() > 0)
4679 if (isOnlyLowElement && !ISD::isNormalLoad(Value.getNode()))
4680 return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value);
4707 N = DAG.getNode(ARMISD::VDUPLANE, dl, VT,
4708 DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, VT, DAG.getUNDEF(VT),
4712 N = DAG.getNode(ARMISD::VDUPLANE, dl, VT,
4715 N = DAG.getNode(ARMISD::VDUP, dl, VT, Value);
4727 N = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, VT, &Ops[0], 3);
4735 Ops.push_back(DAG.getNode(ISD::BITCAST, dl, MVT::i32,
4738 SDValue Val = DAG.getNode(ISD::BUILD_VECTOR, dl, VecVT, &Ops[0], NumElts);
4740 if (Val.getNode())
4741 return DAG.getNode(ISD::BITCAST, dl, VT, Val);
4745 if (isConstant && Val.getNode())
4746 return DAG.getNode(ARMISD::VDUP, dl, VT, Val);
4773 Ops.push_back(DAG.getNode(ISD::BITCAST, dl, EltVT, Op.getOperand(i)));
4774 SDValue Val = DAG.getNode(ARMISD::BUILD_VECTOR, dl, VecVT, &Ops[0],NumElts);
4775 return DAG.getNode(ISD::BITCAST, dl, VT, Val);
4791 Vec = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, VT, Vec, V, LaneIdx);
4891 ShuffleSrcs[i] = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, VT,
4897 ShuffleSrcs[i] = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, VT,
4903 SDValue VEXTSrc1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, VT,
4906 SDValue VEXTSrc2 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, VT,
4909 ShuffleSrcs[i] = DAG.getNode(ARMISD::VEXT, dl, VT, VEXTSrc1, VEXTSrc2,
5032 return DAG.getNode(ARMISD::VREV64, dl, VT, OpLHS);
5035 return DAG.getNode(ARMISD::VREV32, dl, VT, OpLHS);
5038 return DAG.getNode(ARMISD::VREV16, dl, VT, OpLHS);
5043 return DAG.getNode(ARMISD::VDUPLANE, dl, VT,
5048 return DAG.getNode(ARMISD::VEXT, dl, VT,
5053 return DAG.getNode(ARMISD::VUZP, dl, DAG.getVTList(VT, VT),
5057 return DAG.getNode(ARMISD::VZIP, dl, DAG.getVTList(VT, VT),
5061 return DAG.getNode(ARMISD::VTRN, dl, DAG.getVTList(VT, VT),
5079 if (V2.getNode()->getOpcode() == ISD::UNDEF)
5080 return DAG.getNode(ARMISD::VTBL1, DL, MVT::v8i8, V1,
5081 DAG.getNode(ISD::BUILD_VECTOR, DL, MVT::v8i8,
5084 return DAG.getNode(ARMISD::VTBL2, DL, MVT::v8i8, V1, V2,
5085 DAG.getNode(ISD::BUILD_VECTOR, DL, MVT::v8i8,
5097 OpLHS = DAG.getNode(ARMISD::VREV64, DL, VT, OpLHS);
5102 return DAG.getNode(ARMISD::VEXT, DL, VT, OpLHS, OpLHS,
5111 ShuffleVectorSDNode *SVN = cast<ShuffleVectorSDNode>(Op.getNode());
5130 return DAG.getNode(ARMISD::VDUP, dl, VT, V1.getOperand(0));
5144 return DAG.getNode(ARMISD::VDUP, dl, VT, V1.getOperand(0));
5146 return DAG.getNode(ARMISD::VDUPLANE, dl, VT, V1,
5155 return DAG.getNode(ARMISD::VEXT, dl, VT, V1, V2,
5160 return DAG.getNode(ARMISD::VREV64, dl, VT, V1);
5162 return DAG.getNode(ARMISD::VREV32, dl, VT, V1);
5164 return DAG.getNode(ARMISD::VREV16, dl, VT, V1);
5168 return DAG.getNode(ARMISD::VEXT, dl, VT, V1, V1,
5179 return DAG.getNode(ARMISD::VTRN, dl, DAG.getVTList(VT, VT),
5182 return DAG.getNode(ARMISD::VUZP, dl, DAG.getVTList(VT, VT),
5185 return DAG.getNode(ARMISD::VZIP, dl, DAG.getVTList(VT, VT),
5189 return DAG.getNode(ARMISD::VTRN, dl, DAG.getVTList(VT, VT),
5192 return DAG.getNode(ARMISD::VUZP, dl, DAG.getVTList(VT, VT),
5195 return DAG.getNode(ARMISD::VZIP, dl, DAG.getVTList(VT, VT),
5227 V1 = DAG.getNode(ISD::BITCAST, dl, VecVT, V1);
5228 V2 = DAG.getNode(ISD::BITCAST, dl, VecVT, V2);
5234 Ops.push_back(DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, EltVT,
5239 SDValue Val = DAG.getNode(ARMISD::BUILD_VECTOR, dl, VecVT, &Ops[0],NumElts);
5240 return DAG.getNode(ISD::BITCAST, dl, VT, Val);
5248 if (NewOp.getNode())
5274 return DAG.getNode(ARMISD::VGETLANEu, dl, MVT::i32, Vec, Lane);
5290 Val = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, MVT::v2f64, Val,
5291 DAG.getNode(ISD::BITCAST, dl, MVT::f64, Op0),
5294 Val = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, MVT::v2f64, Val,
5295 DAG.getNode(ISD::BITCAST, dl, MVT::f64, Op1),
5297 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Val);
5308 SDNode *BVN = N->getOperand(0).getNode();
5335 SDNode *Elt = N->getOperand(i).getNode();
5408 return DAG.getNode(ExtOpcode, SDLoc(N), NewVT, N);
5454 SDNode *BVN = N->getOperand(0).getNode();
5458 return DAG.getNode(ISD::BUILD_VECTOR, SDLoc(N), MVT::v2i32,
5475 return DAG.getNode(ISD::BUILD_VECTOR, SDLoc(N),
5482 SDNode *N0 = N->getOperand(0).getNode();
5483 SDNode *N1 = N->getOperand(1).getNode();
5493 SDNode *N0 = N->getOperand(0).getNode();
5494 SDNode *N1 = N->getOperand(1).getNode();
5507 SDNode *N0 = Op.getOperand(0).getNode();
5508 SDNode *N1 = Op.getOperand(1).getNode();
5555 return DAG.getNode(NewOpc, DL, VT, Op0, Op1);
5566 SDValue N00 = SkipExtensionForVMULL(N0->getOperand(0).getNode(), DAG);
5567 SDValue N01 = SkipExtensionForVMULL(N0->getOperand(1).getNode(), DAG);
5569 return DAG.getNode(N0->getOpcode(), DL, VT,
5570 DAG.getNode(NewOpc, DL, VT,
5571 DAG.getNode(ISD::BITCAST, DL, Op1VT, N00), Op1),
5572 DAG.getNode(NewOpc, DL, VT,
5573 DAG.getNode(ISD::BITCAST, DL, Op1VT, N01), Op1));
5581 X = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v4i32, X);
5582 Y = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v4i32, Y);
5583 X = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::v4f32, X);
5584 Y = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::v4f32, Y);
5587 Y = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f32,
5593 X = DAG.getNode(ISD::FMUL, dl, MVT::v4f32, X, Y);
5594 getNode(ISD::BITCAST, dl, MVT::v4i32, X);
5596 Y = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, Y, Y, Y, Y);
5597 X = DAG.getNode(ISD::ADD, dl, MVT::v4i32, X, Y);
5598 X = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, X);
5600 X = DAG.getNode(ISD::FP_TO_SINT, dl, MVT::v4i32, X);
5601 X = DAG.getNode(ISD::TRUNCATE, dl, MVT::v4i16, X);
5611 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v4i32, N0);
5612 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v4i32, N1);
5613 N0 = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::v4f32, N0);
5614 N1 = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::v4f32, N1);
5619 N2 = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f32,
5621 N1 = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f32,
5624 N2 = DAG.getNode(ISD::FMUL, dl, MVT::v4f32, N1, N2);
5629 N0 = DAG.getNode(ISD::FMUL, dl, MVT::v4f32, N0, N2);
5630 N0 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, N0);
5632 N1 = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, N1, N1, N1, N1);
5633 N0 = DAG.getNode(ISD::ADD, dl, MVT::v4i32, N0, N1);
5634 N0 = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, N0);
5637 N0 = DAG.getNode(ISD::FP_TO_SINT, dl, MVT::v4i32, N0);
5638 N0 = DAG.getNode(ISD::TRUNCATE, dl, MVT::v4i16, N0);
5653 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v8i16, N0);
5654 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v8i16, N1);
5656 N2 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N0,
5658 N3 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N1,
5660 N0 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N0,
5662 N1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N1,
5668 N0 = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v8i16, N0, N2);
5671 N0 = DAG.getNode(ISD::TRUNCATE, dl, MVT::v8i8, N0);
5688 N0 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::v8i16, N0);
5689 N1 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::v8i16, N1);
5691 N2 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N0,
5693 N3 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N1,
5695 N0 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N0,
5697 N1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v4i16, N1,
5703 N0 = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v8i16, N0, N2);
5706 N0 = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v8i8,
5715 N0 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::v4i32, N0);
5716 N1 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::v4i32, N1);
5717 N0 = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::v4f32, N0);
5718 SDValue BN1 = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::v4f32, N1);
5724 N2 = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f32,
5726 N1 = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f32,
5729 N2 = DAG.getNode(ISD::FMUL, dl, MVT::v4f32, N1, N2);
5730 N1 = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f32,
5733 N2 = DAG.getNode(ISD::FMUL, dl, MVT::v4f32, N1, N2);
5738 N0 = DAG.getNode(ISD::FMUL, dl, MVT::v4f32, N0, N2);
5739 N0 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, N0);
5741 N1 = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, N1, N1, N1, N1);
5742 N0 = DAG.getNode(ISD::ADD, dl, MVT::v4i32, N0, N1);
5743 N0 = DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, N0);
5746 N0 = DAG.getNode(ISD::FP_TO_SINT, dl, MVT::v4i32, N0);
5747 N0 = DAG.getNode(ISD::TRUNCATE, dl, MVT::v4i16, N0);
5752 EVT VT = Op.getNode()->getValueType(0);
5766 return DAG.getNode(Opc, SDLoc(Op), VTs, Op.getOperand(0),
5768 return DAG.getNode(Opc, SDLoc(Op), VTs, Op.getOperand(0),
5793 Ops.push_back(DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32,
5796 Ops.push_back(DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32,
5800 Ops.push_back(DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32,
5803 Ops.push_back(DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32,
5811 Results.push_back(DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, OpsF, 2));
5834 Cycles32 = DAG.getNode(ISD::INTRINSIC_W_CHAIN, DL,
5847 SDValue Cycles64 = DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i64,
5881 case ISD::BITCAST: return ExpandBITCAST(Op.getNode(), DAG);
5884 case ISD::SRA: return LowerShift(Op.getNode(), DAG, Subtarget);
5888 case ISD::CTTZ: return LowerCTTZ(Op.getNode(), DAG, Subtarget);
5889 case ISD::CTPOP: return LowerCTPOP(Op.getNode(), DAG, Subtarget);
5972 if (Res.getNode())
7863 if (!isConditionalZeroOrAllOnes(Slct.getNode(), AllOnes, CCOp, SwapSelectOps,
7869 SDValue FalseVal = DAG.getNode(N->getOpcode(), SDLoc(N), VT,
7875 return DAG.getNode(ISD::SELECT, SDLoc(N), VT,
7885 if (N0.getNode()->hasOneUse()) {
7887 if (Result.getNode())
7890 if (N1.getNode()->hasOneUse()) {
7892 if (Result.getNode())
7926 SDNode *V = Vec.getNode();
7940 if (V != ExtVec0->getOperand(0).getNode() ||
7941 V != ExtVec1->getOperand(0).getNode())
7982 SDValue tmp = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, SDLoc(N),
7984 return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, tmp);
8022 if (AddcOp0.getNode() == AddcOp1.getNode())
8058 if (AddeOp0.getNode() == AddeOp1.getNode())
8099 if (LoMul->getNode() != HiMul->getNode())
8112 SDValue MLALNode = DAG.getNode(FinalOpc, SDLoc(AddcNode),
8117 SDValue HiMLALResult(MLALNode.getNode(), 1);
8120 SDValue LoMLALResult(MLALNode.getNode(), 0);
8148 if (Result.getNode())
8152 if (N0.getNode()->hasOneUse()) {
8154 if (Result.getNode()) return Result;
8169 if (Result.getNode())
8184 if (N1.getNode()->hasOneUse()) {
8186 if (Result.getNode()) return Result;
8223 return DAG.getNode(Opcode, DL, VT,
8224 DAG.getNode(ISD::MUL, DL, VT, N00, N1),
8225 DAG.getNode(ISD::MUL, DL, VT, N01, N1));
8262 Res = DAG.getNode(ISD::ADD, DL, VT,
8264 DAG.getNode(ISD::SHL, DL, VT,
8270 Res = DAG.getNode(ISD::SUB, DL, VT,
8271 DAG.getNode(ISD::SHL, DL, VT,
8282 Res = DAG.getNode(ISD::SUB, DL, VT,
8284 DAG.getNode(ISD::SHL, DL, VT,
8290 Res = DAG.getNode(ISD::ADD, DL, VT,
8292 DAG.getNode(ISD::SHL, DL, VT,
8296 Res = DAG.getNode(ISD::SUB, DL, VT,
8304 Res = DAG.getNode(ISD::SHL, DL, VT,
8336 if (Val.getNode()) {
8338 DAG.getNode(ISD::BITCAST, dl, VbicVT, N->getOperand(0));
8339 SDValue Vbic = DAG.getNode(ARMISD::VBICIMM, dl, VbicVT, Input, Val);
8340 return DAG.getNode(ISD::BITCAST, dl, VT, Vbic);
8348 if (Result.getNode())
8379 if (Val.getNode()) {
8381 DAG.getNode(ISD::BITCAST, dl, VorrVT, N->getOperand(0));
8382 SDValue Vorr = DAG.getNode(ARMISD::VORRIMM, dl, VorrVT, Input, Val);
8383 return DAG.getNode(ISD::BITCAST, dl, VT, Vorr);
8391 if (Result.getNode())
8426 SDValue Result = DAG.getNode(ARMISD::VBSL, dl, CanonicalVT,
8430 return DAG.getNode(ISD::BITCAST, dl, VT, Result);
8480 Res = DAG.getNode(ARMISD::BFI, DL, VT, N00,
8506 Res = DAG.getNode(ISD::SRL, DL, VT, N1.getOperand(0),
8508 Res = DAG.getNode(ARMISD::BFI, DL, VT, N00, Res,
8522 Res = DAG.getNode(ISD::SRL, DL, VT, N00,
8524 Res = DAG.getNode(ARMISD::BFI, DL, VT, N1.getOperand(0), Res,
8543 Res = DAG.getNode(ARMISD::BFI, DL, VT, N1, N00.getOperand(0),
8565 if (Result.getNode())
8587 return DCI.DAG.getNode(ARMISD::BFI, SDLoc(N), N->getValueType(0),
8604 SDNode *InNode = InDouble.getNode();
8620 SDValue OffsetPtr = DAG.getNode(ISD::ADD, DL, MVT::i32, BasePtr,
8648 Op0.getNode() == Op1.getNode() &&
8650 return DAG.getNode(ISD::BITCAST, SDLoc(N),
8693 SDValue WideVec = DAG.getNode(ISD::BITCAST, DL, WideVecVT, StVal);
8722 SDValue ShuffWide = DAG.getNode(ISD::BITCAST, DL, StoreVecVT, Shuff);
8731 SDValue SubVec = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL,
8737 BasePtr = DAG.getNode(ISD::ADD, DL, BasePtr.getValueType(), BasePtr,
8741 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, &Chains[0],
8750 if (StVal.getNode()->getOpcode() == ARMISD::VMOVDRR &&
8751 StVal.getNode()->hasOneUse()) {
8756 StVal.getNode()->getOperand(0), BasePtr,
8760 SDValue OffsetPtr = DAG.getNode(ISD::ADD, DL, MVT::i32, BasePtr,
8762 return DAG.getStore(NewST1.getValue(0), DL, StVal.getNode()->getOperand(1),
8769 StVal.getNode()->getOpcode() != ISD::EXTRACT_VECTOR_ELT)
8779 SDValue Vec = DAG.getNode(ISD::BITCAST, dl, FloatVT, IntVec);
8780 SDValue ExtElt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64,
8783 SDValue V = DAG.getNode(ISD::BITCAST, dl, MVT::i64, ExtElt);
8785 DCI.AddToWorklist(Vec.getNode());
8786 DCI.AddToWorklist(ExtElt.getNode());
8787 DCI.AddToWorklist(V.getNode());
8801 SDNode *Elt = N->getOperand(i).getNode();
8819 if (RV.getNode())
8832 SDValue V = DAG.getNode(ISD::BITCAST, dl, MVT::f64, N->getOperand(i));
8835 DCI.AddToWorklist(V.getNode());
8838 SDValue BV = DAG.getNode(ISD::BUILD_VECTOR, dl, FloatVT, Ops.data(), NumElts);
8839 return DAG.getNode(ISD::BITCAST, dl, VT, BV);
8921 V = DAG.getNode(ISD::BITCAST, SDLoc(V), MVT::i32, V);
8923 DCI.AddToWorklist(V.getNode());
8926 Vec = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, VecVT, Vec, V, LaneIdx);
8928 Vec = DAG.getNode(ISD::BITCAST, dl, VT, Vec);
8930 DCI.AddToWorklist(Vec.getNode());
8941 SDNode *Elt = N->getOperand(1).getNode();
8950 SDValue Vec = DAG.getNode(ISD::BITCAST, dl, FloatVT, N->getOperand(0));
8951 SDValue V = DAG.getNode(ISD::BITCAST, dl, MVT::f64, N->getOperand(1));
8953 DCI.AddToWorklist(Vec.getNode());
8954 DCI.AddToWorklist(V.getNode());
8955 SDValue InsElt = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, FloatVT,
8957 return DAG.getNode(ISD::BITCAST, dl, VT, InsElt);
8993 SDValue NewConcat = DAG.getNode
9027 for (SDNode::use_iterator UI = Addr.getNode()->use_begin(),
9028 UE = Addr.getNode()->use_end(); UI != UE; ++UI) {
9099 if (ConstantSDNode *CInc = dyn_cast<ConstantSDNode>(Inc.getNode())) {
9134 NewResults.push_back(SDValue(UpdN.getNode(), i));
9136 NewResults.push_back(SDValue(UpdN.getNode(), NumResultVecs+1)); // chain
9138 DCI.CombineTo(User, SDValue(UpdN.getNode(), NumResultVecs));
9157 SDNode *VLD = N->getOperand(0).getNode();
9212 DCI.CombineTo(User, SDValue(VLDDup.getNode(), ResNo));
9219 VLDDupResults.push_back(SDValue(VLDDup.getNode(), n));
9220 VLDDupResults.push_back(SDValue(VLDDup.getNode(), NumVecs));
9255 return DCI.DAG.getNode(ISD::BITCAST, SDLoc(N), VT, Op);
9324 SDValue FixConv = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, SDLoc(N),
9330 FixConv = DAG.getNode(ISD::TRUNCATE, SDLoc(N), N->getValueType(0), FixConv);
9349 unsigned OpOpcode = Op.getNode()->getOpcode();
9375 ConvInput = DAG.getNode(isSigned ? ISD::SIGN_EXTEND : ISD::ZERO_EXTEND,
9381 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, SDLoc(N),
9394 BuildVectorSDNode *BVN = dyn_cast<BuildVectorSDNode>(Op.getNode());
9565 return DAG.getNode(VShiftOpc, SDLoc(N), N->getValueType(0),
9582 return DAG.getNode(VShiftOpc, SDLoc(N), N->getValueType(0),
9613 return DAG.getNode(ISD::ROTR, SDLoc(N), VT, N0, N1);
9630 return DAG.getNode(ARMISD::VSHL, SDLoc(N), VT, N->getOperand(0),
9639 return DAG.getNode(VShiftOpc, SDLoc(N), VT, N->getOperand(0),
9679 return DAG.getNode(Opc, SDLoc(N), VT, Vec, Lane);
9768 return DAG.getNode(Opcode, SDLoc(N), N->getValueType(0), LHS, RHS);
9808 Res = DAG.getNode(ARMISD::CMOV, dl, VT, LHS, TrueVal, ARMcc,
9813 Res = DAG.getNode(ARMISD::CMOV, dl, VT, LHS, FalseVal, ARMcc,
9817 if (Res.getNode()) {
9822 Res = DAG.getNode(ISD::AssertZext, dl, MVT::i32, Res,
9825 Res = DAG.getNode(ISD::AssertZext, dl, MVT::i32, Res,
9828 Res = DAG.getNode(ISD::AssertZext, dl, MVT::i32, Res,
10342 isLegal = getT2IndexedAddressParts(Ptr.getNode(), VT, isSEXTLoad, Base,
10345 isLegal = getARMIndexedAddressParts(Ptr.getNode(), VT, isSEXTLoad, Base,
10738 if (Result.getNode()) {