Lines Matching defs:Shamt
8606 SDValue Shamt = Op.getOperand(2);
8609 // if Shamt-XLEN < 0: // Shamt < XLEN
8610 // Lo = Lo << Shamt
8611 // Hi = (Hi << Shamt) | ((Lo >>u 1) >>u (XLEN-1 - Shamt))
8614 // Hi = Lo << (Shamt-XLEN)
8620 SDValue ShamtMinusXLen = DAG.getNode(ISD::ADD, DL, VT, Shamt, MinusXLen);
8621 SDValue XLenMinus1Shamt = DAG.getNode(ISD::SUB, DL, VT, XLenMinus1, Shamt);
8623 SDValue LoTrue = DAG.getNode(ISD::SHL, DL, VT, Lo, Shamt);
8627 SDValue ShiftLeftHi = DAG.getNode(ISD::SHL, DL, VT, Hi, Shamt);
8645 SDValue Shamt = Op.getOperand(2);
8649 // if Shamt-XLEN < 0: // Shamt < XLEN
8650 // Lo = (Lo >>u Shamt) | ((Hi << 1) << (XLEN-1 - ShAmt))
8651 // Hi = Hi >>s Shamt
8653 // Lo = Hi >>s (Shamt-XLEN);
8657 // if Shamt-XLEN < 0: // Shamt < XLEN
8658 // Lo = (Lo >>u Shamt) | ((Hi << 1) << (XLEN-1 - ShAmt))
8659 // Hi = Hi >>u Shamt
8661 // Lo = Hi >>u (Shamt-XLEN);
8670 SDValue ShamtMinusXLen = DAG.getNode(ISD::ADD, DL, VT, Shamt, MinusXLen);
8671 SDValue XLenMinus1Shamt = DAG.getNode(ISD::SUB, DL, VT, XLenMinus1, Shamt);
8673 SDValue ShiftRightLo = DAG.getNode(ISD::SRL, DL, VT, Lo, Shamt);
8678 SDValue HiTrue = DAG.getNode(ShiftRightOp, DL, VT, Hi, Shamt);