Lines Matching defs:Amt

1414 /// and the shift amount is a constant 'Amt'.  Expand the operation.
1415 void DAGTypeLegalizer::ExpandShiftByConstant(SDNode *N, const APInt &Amt,
1422 // Though Amt shouldn't usually be 0, it's possible. E.g. when legalization
1424 if (!Amt) {
1436 if (Amt.ugt(VTBits)) {
1438 } else if (Amt.ugt(NVTBits)) {
1441 NVT, InL, DAG.getConstant(Amt - NVTBits, DL, ShTy));
1442 } else if (Amt == NVTBits) {
1445 } else if (Amt == 1 &&
1455 Lo = DAG.getNode(ISD::SHL, DL, NVT, InL, DAG.getConstant(Amt, DL, ShTy));
1458 DAG.getConstant(Amt, DL, ShTy)),
1460 DAG.getConstant(-Amt + NVTBits, DL, ShTy)));
1466 if (Amt.ugt(VTBits)) {
1468 } else if (Amt.ugt(NVTBits)) {
1470 NVT, InH, DAG.getConstant(Amt - NVTBits, DL, ShTy));
1472 } else if (Amt == NVTBits) {
1478 DAG.getConstant(Amt, DL, ShTy)),
1480 DAG.getConstant(-Amt + NVTBits, DL, ShTy)));
1481 Hi = DAG.getNode(ISD::SRL, DL, NVT, InH, DAG.getConstant(Amt, DL, ShTy));
1487 if (Amt.ugt(VTBits)) {
1490 } else if (Amt.ugt(NVTBits)) {
1492 DAG.getConstant(Amt - NVTBits, DL, ShTy));
1495 } else if (Amt == NVTBits) {
1502 DAG.getConstant(Amt, DL, ShTy)),
1504 DAG.getConstant(-Amt + NVTBits, DL, ShTy)));
1505 Hi = DAG.getNode(ISD::SRA, DL, NVT, InH, DAG.getConstant(Amt, DL, ShTy));
1515 SDValue Amt = N->getOperand(1);
1517 EVT ShTy = Amt.getValueType();
1540 Amt = DAG.getNode(ISD::AND, dl, ShTy, Amt,
1547 Hi = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt); // High part from Lo part.
1551 Lo = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt); // Lo part from Hi part.
1556 Lo = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt); // Lo part from Hi part.
1567 SDValue Amt2 = DAG.getNode(ISD::XOR, dl, ShTy, Amt,
1588 Lo = DAG.getNode(N->getOpcode(), dl, NVT, InL, Amt);
1589 Hi = DAG.getNode(ISD::OR, dl, NVT, DAG.getNode(Op1, dl, NVT, InH, Amt),Sh2);
1603 SDValue Amt = N->getOperand(1);
1605 EVT ShTy = Amt.getValueType();
1616 SDValue AmtExcess = DAG.getNode(ISD::SUB, dl, ShTy, Amt, NVBitsNode);
1617 SDValue AmtLack = DAG.getNode(ISD::SUB, dl, ShTy, NVBitsNode, Amt);
1619 Amt, NVBitsNode, ISD::SETULT);
1621 Amt, DAG.getConstant(0, dl, ShTy),
1629 LoS = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt);
1631 DAG.getNode(ISD::SHL, dl, NVT, InH, Amt),
1644 HiS = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt);
1646 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
1647 // FIXME: If Amt is zero, the following shift generates an undefined result
1661 HiS = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt);
1663 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),