reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
786 SDValue Zero = DAG.getConstant(0, DL, VT); 787 SDValue One = DAG.getConstant(1, DL, VT); 788 SDValue MinusXLen = DAG.getConstant(-(int)Subtarget.getXLen(), DL, VT); 789 SDValue XLenMinus1 = DAG.getConstant(Subtarget.getXLen() - 1, DL, VT); 790 SDValue ShamtMinusXLen = DAG.getNode(ISD::ADD, DL, VT, Shamt, MinusXLen); 791 SDValue XLenMinus1Shamt = DAG.getNode(ISD::SUB, DL, VT, XLenMinus1, Shamt); 793 SDValue ShiftRightLo = DAG.getNode(ISD::SRL, DL, VT, Lo, Shamt); 794 SDValue ShiftLeftHi1 = DAG.getNode(ISD::SHL, DL, VT, Hi, One); 796 DAG.getNode(ISD::SHL, DL, VT, ShiftLeftHi1, XLenMinus1Shamt); 797 SDValue LoTrue = DAG.getNode(ISD::OR, DL, VT, ShiftRightLo, ShiftLeftHi); 798 SDValue HiTrue = DAG.getNode(ShiftRightOp, DL, VT, Hi, Shamt); 799 SDValue LoFalse = DAG.getNode(ShiftRightOp, DL, VT, Hi, ShamtMinusXLen); 801 IsSRA ? DAG.getNode(ISD::SRA, DL, VT, Hi, XLenMinus1) : Zero; 803 SDValue CC = DAG.getSetCC(DL, VT, ShamtMinusXLen, Zero, ISD::SETLT); 805 Lo = DAG.getNode(ISD::SELECT, DL, VT, CC, LoTrue, LoFalse); 806 Hi = DAG.getNode(ISD::SELECT, DL, VT, CC, HiTrue, HiFalse); 809 return DAG.getMergeValues(Parts, DL);