Lines Matching defs:Shamt
782 SDValue Shamt = Op.getOperand(2);
785 // if Shamt-XLEN < 0: // Shamt < XLEN
786 // Lo = Lo << Shamt
787 // Hi = (Hi << Shamt) | ((Lo >>u 1) >>u (XLEN-1 - Shamt))
790 // Hi = Lo << (Shamt-XLEN)
796 SDValue ShamtMinusXLen = DAG.getNode(ISD::ADD, DL, VT, Shamt, MinusXLen);
797 SDValue XLenMinus1Shamt = DAG.getNode(ISD::SUB, DL, VT, XLenMinus1, Shamt);
799 SDValue LoTrue = DAG.getNode(ISD::SHL, DL, VT, Lo, Shamt);
803 SDValue ShiftLeftHi = DAG.getNode(ISD::SHL, DL, VT, Hi, Shamt);
821 SDValue Shamt = Op.getOperand(2);
825 // if Shamt-XLEN < 0: // Shamt < XLEN
826 // Lo = (Lo >>u Shamt) | ((Hi << 1) << (XLEN-1 - Shamt))
827 // Hi = Hi >>s Shamt
829 // Lo = Hi >>s (Shamt-XLEN);
833 // if Shamt-XLEN < 0: // Shamt < XLEN
834 // Lo = (Lo >>u Shamt) | ((Hi << 1) << (XLEN-1 - Shamt))
835 // Hi = Hi >>u Shamt
837 // Lo = Hi >>u (Shamt-XLEN);
846 SDValue ShamtMinusXLen = DAG.getNode(ISD::ADD, DL, VT, Shamt, MinusXLen);
847 SDValue XLenMinus1Shamt = DAG.getNode(ISD::SUB, DL, VT, XLenMinus1, Shamt);
849 SDValue ShiftRightLo = DAG.getNode(ISD::SRL, DL, VT, Lo, Shamt);
854 SDValue HiTrue = DAG.getNode(ShiftRightOp, DL, VT, Hi, Shamt);