Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:Amt

1253 /// and the shift amount is a constant 'Amt'.  Expand the operation.
1254 void DAGTypeLegalizer::ExpandShiftByConstant(SDNode *N, unsigned Amt,
1267 if (Amt > VTBits) {
1269 } else if (Amt > NVTBits) {
1272 NVT, InL, DAG.getConstant(Amt-NVTBits, ShTy));
1273 } else if (Amt == NVTBits) {
1276 } else if (Amt == 1 &&
1286 Lo = DAG.getNode(ISD::SHL, DL, NVT, InL, DAG.getConstant(Amt, ShTy));
1289 DAG.getConstant(Amt, ShTy)),
1291 DAG.getConstant(NVTBits-Amt, ShTy)));
1297 if (Amt > VTBits) {
1300 } else if (Amt > NVTBits) {
1302 NVT, InH, DAG.getConstant(Amt-NVTBits,ShTy));
1304 } else if (Amt == NVTBits) {
1310 DAG.getConstant(Amt, ShTy)),
1312 DAG.getConstant(NVTBits-Amt, ShTy)));
1313 Hi = DAG.getNode(ISD::SRL, DL, NVT, InH, DAG.getConstant(Amt, ShTy));
1319 if (Amt > VTBits) {
1322 } else if (Amt > NVTBits) {
1324 DAG.getConstant(Amt-NVTBits, ShTy));
1327 } else if (Amt == NVTBits) {
1334 DAG.getConstant(Amt, ShTy)),
1336 DAG.getConstant(NVTBits-Amt, ShTy)));
1337 Hi = DAG.getNode(ISD::SRA, DL, NVT, InH, DAG.getConstant(Amt, ShTy));
1347 SDValue Amt = N->getOperand(1);
1349 EVT ShTy = Amt.getValueType();
1372 Amt = DAG.getNode(ISD::AND, dl, ShTy, Amt,
1379 Hi = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt); // High part from Lo part.
1383 Lo = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt); // Lo part from Hi part.
1388 Lo = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt); // Lo part from Hi part.
1398 // Compute 32-amt.
1401 Amt);
1410 Lo = DAG.getNode(N->getOpcode(), NVT, InL, Amt);
1412 DAG.getNode(Op1, NVT, InH, Amt),
1425 SDValue Amt = N->getOperand(1);
1427 EVT ShTy = Amt.getValueType();
1438 SDValue AmtExcess = DAG.getNode(ISD::SUB, dl, ShTy, Amt, NVBitsNode);
1439 SDValue AmtLack = DAG.getNode(ISD::SUB, dl, ShTy, NVBitsNode, Amt);
1441 Amt, NVBitsNode, ISD::SETULT);
1448 LoS = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt);
1450 DAG.getNode(ISD::SHL, dl, NVT, InH, Amt),
1451 // FIXME: If Amt is zero, the following shift generates an undefined result
1464 HiS = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt);
1466 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
1467 // FIXME: If Amt is zero, the following shift generates an undefined result
1480 HiS = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt);
1482 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
1483 // FIXME: If Amt is zero, the following shift generates an undefined result