reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/Mips/MipsISelLowering.cpp
 2503   SDValue Not = DAG.getNode(ISD::XOR, DL, MVT::i32, Shamt,
 2504                             DAG.getConstant(-1, DL, MVT::i32));
 2505   SDValue ShiftLeft1Hi = DAG.getNode(ISD::SHL, DL, VT, Hi,
 2506                                      DAG.getConstant(1, DL, VT));
 2507   SDValue ShiftLeftHi = DAG.getNode(ISD::SHL, DL, VT, ShiftLeft1Hi, Not);
 2508   SDValue ShiftRightLo = DAG.getNode(ISD::SRL, DL, VT, Lo, Shamt);
 2509   SDValue Or = DAG.getNode(ISD::OR, DL, VT, ShiftLeftHi, ShiftRightLo);
 2510   SDValue ShiftRightHi = DAG.getNode(IsSRA ? ISD::SRA : ISD::SRL,
 2512   SDValue Cond = DAG.getNode(ISD::AND, DL, MVT::i32, Shamt,
 2513                              DAG.getConstant(VT.getSizeInBits(), DL, MVT::i32));
 2514   SDValue Ext = DAG.getNode(ISD::SRA, DL, VT, Hi,
 2515                             DAG.getConstant(VT.getSizeInBits() - 1, DL, VT));
 2518     SDVTList VTList = DAG.getVTList(VT, VT);
 2519     return DAG.getNode(Subtarget.isGP64bit() ? Mips::PseudoD_SELECT_I64
 2522                        IsSRA ? Ext : DAG.getConstant(0, DL, VT), Or,
 2526   Lo = DAG.getNode(ISD::SELECT, DL, VT, Cond, ShiftRightHi, Or);
 2527   Hi = DAG.getNode(ISD::SELECT, DL, VT, Cond,
 2528                    IsSRA ? Ext : DAG.getConstant(0, DL, VT), ShiftRightHi);
 2531   return DAG.getMergeValues(Ops, DL);