Lines Matching defs:SRA
284 setOperationAction({ISD::ADD, ISD::SUB, ISD::SHL, ISD::SRA, ISD::SRL},
1236 ISD::UREM, ISD::SHL, ISD::SRA, ISD::SRL},
1474 setTargetDAGCombine(ISD::SRA);
1495 ISD::VP_GATHER, ISD::VP_SCATTER, ISD::SRA, ISD::SRL,
1903 (Val.getOpcode() == ISD::SRL || Val.getOpcode() == ISD::SRA) &&
4275 // Detect cases where Hi is (SRA Lo, 31) which means Hi is Lo sign extended.
4276 if (Hi.getOpcode() == ISD::SRA && Hi.getOperand(0) == Lo &&
5966 OP_CASE(SRA)
7004 case ISD::SRA:
8009 // SRA expansion:
8025 unsigned ShiftRightOp = IsSRA ? ISD::SRA : ISD::SRL;
8042 IsSRA ? DAG.getNode(ISD::SRA, DL, VT, Hi, XLenMinus1) : Zero;
12142 case ISD::SRA:
12382 case ISD::SRA:
12589 SignFill = DAG.getNode(ISD::SRA, DL, MVT::i64, SignFill,
13533 return DAG.getNode(ISD::SRA, DL, VT, N1.getOperand(0),
14049 SDValue Sra = DAG.getNode(ISD::SRA, DL, HalfVT, Cast,
15606 assert(N->getOpcode() == ISD::SRA && "Unexpected opcode");
15634 return DAG.getNode(ISD::SRA, DL, MVT::i64, Shl,
15648 // We might have an ADD or SUB between the SRA and SHL.
15664 if (U->getOpcode() != ISD::SRA ||
15784 LHS.getOpcode() == ISD::SRA) {
15877 case ISD::SRA:
16499 if (Op.getOpcode() != ISD::SRA || !Op.hasOneUse())
16519 return DAG.getNode(ISD::SRA, SDLoc(N), N->getValueType(0), N00, SMin);
16944 SDValue SRA =
16945 DAG.getNode(ISD::SRA, DL, VT, LHS,
16948 DAG.getNode(ISD::AND, DL, VT, SRA,
17267 case ISD::SRA:
17655 assert((N->getOpcode() == ISD::SHL || N->getOpcode() == ISD::SRA ||