Lines Matching refs:Mips
15 #include "Mips.h"
60 MIB.addReg(Mips::DSPPos, Flag);
63 MIB.addReg(Mips::DSPSCount, Flag);
66 MIB.addReg(Mips::DSPCarry, Flag);
69 MIB.addReg(Mips::DSPOutFlag, Flag);
72 MIB.addReg(Mips::DSPCCond, Flag);
75 MIB.addReg(Mips::DSPEFI, Flag);
80 return Mips::MSACtrlRegClass.getRegister(RegNum);
88 if ((MI.getOpcode() == Mips::ADDiu) &&
89 (MI.getOperand(1).getReg() == Mips::ZERO) &&
93 ZeroReg = Mips::ZERO;
94 } else if ((MI.getOpcode() == Mips::DADDiu) &&
95 (MI.getOperand(1).getReg() == Mips::ZERO_64) &&
99 ZeroReg = Mips::ZERO_64;
133 BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Mips::OR64))
134 .addDef(Mips::AT_64)
135 .addUse(Mips::RA_64, RegState::Undef)
136 .addUse(Mips::ZERO_64);
138 MIB.addUse(Mips::AT_64, RegState::Implicit);
141 BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Mips::OR))
142 .addDef(Mips::AT)
143 .addUse(Mips::RA, RegState::Undef)
144 .addUse(Mips::ZERO);
146 BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Mips::ADDiu))
147 .addDef(Mips::SP)
148 .addUse(Mips::SP)
151 MIB.addUse(Mips::AT, RegState::Implicit);
163 case Mips::RDDSP:
166 case Mips::WRDSP:
169 case Mips::BuildPairF64_64:
170 case Mips::ExtractElementF64_64:
172 MI.addOperand(MachineOperand::CreateReg(Mips::SP, false, true));
176 case Mips::BuildPairF64:
177 case Mips::ExtractElementF64:
179 MI.addOperand(MachineOperand::CreateReg(Mips::SP, false, true));
181 case Mips::JAL:
182 case Mips::JAL_MM:
187 case Mips::JALRPseudo:
188 case Mips::JALR64Pseudo:
189 case Mips::JALR16_MM:
194 case Mips::JALR:
216 CurDAG->SelectNodeTo(Node, Mips::ADDWC, VT, MVT::Glue, Ops);
231 // carry field. The usage of 1 here with MipsISD::RDDSP / Mips::WRDSP
238 SDNode *DSPCtrlField = CurDAG->getMachineNode(Mips::RDDSP, DL, MVT::i32,
242 Mips::EXT, DL, MVT::i32, SDValue(DSPCtrlField, 0), OuFlag, CstOne);
247 SDNode *DSPCFWithCarry = CurDAG->getMachineNode(Mips::INS, DL, MVT::i32, Ops);
254 SDValue Zero = CurDAG->getRegister(Mips::ZERO, MVT::i32);
258 CurDAG->getMachineNode(Mips::INS, DL, MVT::i32, InsOps);
260 SDNode *WrDSP = CurDAG->getMachineNode(Mips::WRDSP, DL, MVT::Glue,
264 CurDAG->SelectNodeTo(Node, Mips::ADDWC, VT, MVT::Glue, Operands);
311 /// Used on Mips Load/Store instructions
361 /// Used on Mips Load/Store instructions
746 case Mips::PseudoD_SELECT_I:
747 case Mips::PseudoD_SELECT_I64: {
758 ? Mips::PseudoD_SELECT_I64
759 : Mips::PseudoD_SELECT_I,
774 Mips::ZERO_64, MVT::i64);
776 CurDAG->getMachineNode(Mips::DMTC1, DL, MVT::f64, Zero));
779 Mips::ZERO, MVT::i32);
780 ReplaceNode(Node, CurDAG->getMachineNode(Mips::BuildPairF64_64, DL,
784 Mips::ZERO, MVT::i32);
785 ReplaceNode(Node, CurDAG->getMachineNode(Mips::BuildPairF64, DL,
815 if (Inst->Opc == Mips::LUi64)
820 CurDAG->getRegister(Mips::ZERO_64, MVT::i64),
860 ReplaceNode(Node, CurDAG->getMachineNode(Mips::MOVE_V, DL,
922 Opcode = Mips::INS;
925 Opcode = Mips::DINS;
927 Opcode = Mips::DINSM;
929 Opcode = Mips::DINSU;
949 RdhwrOpc = Mips::RDHWR;
950 DestReg = Mips::V1;
952 RdhwrOpc = Mips::RDHWR64;
953 DestReg = Mips::V1_64;
958 CurDAG->getRegister(Mips::HWR29, MVT::i32),
1003 LdiOp = Mips::LDI_B;
1007 LdiOp = Mips::LDI_H;
1011 LdiOp = Mips::LDI_W;
1015 LdiOp = Mips::LDI_D;
1040 const unsigned ADDiuOp = Is32BitSplat ? Mips::ADDiu : Mips::DADDiu;
1043 Is32BitSplat ? Mips::ZERO : Mips::ZERO_64, SplatMVT);
1047 ? Mips::FILL_H
1048 : (SplatBitSize == 32 ? Mips::FILL_W
1049 : (SplatBitSize == 64 ? Mips::FILL_D : 0));
1052 assert((!ABI.IsO32() || (FILLOp != Mips::FILL_D)) &&
1066 SDValue ZeroVal = CurDAG->getRegister(Mips::ZERO, MVT::i32);
1072 Res = CurDAG->getMachineNode(Mips::LUi, DL, MVT::i32, HiVal);
1075 Res = CurDAG->getMachineNode(Mips::ORi, DL, MVT::i32,
1080 CurDAG->getMachineNode(Mips::FILL_W, DL, MVT::v4i32, SDValue(Res, 0));
1089 SDValue ZeroVal = CurDAG->getRegister(Mips::ZERO, MVT::i32);
1095 Res = CurDAG->getMachineNode(Mips::LUi, DL, MVT::i32, HiVal);
1098 Res = CurDAG->getMachineNode(Mips::ORi, DL, MVT::i32,
1102 Mips::SUBREG_TO_REG, DL, MVT::i64,
1105 CurDAG->getTargetConstant(Mips::sub_32, DL, MVT::i64));
1108 CurDAG->getMachineNode(Mips::FILL_D, DL, MVT::v2i64, SDValue(Res, 0));
1145 SDValue ZeroVal = CurDAG->getRegister(Mips::ZERO, MVT::i32);
1164 Res = CurDAG->getMachineNode(Mips::LUi, DL, MVT::i32, HiVal);
1167 Res = CurDAG->getMachineNode(Mips::ORi, DL, MVT::i32,
1172 HiRes = CurDAG->getMachineNode(Mips::LUi, DL, MVT::i32, HighestVal);
1175 HiRes = CurDAG->getMachineNode(Mips::ORi, DL, MVT::i32,
1181 Res = CurDAG->getMachineNode(Mips::FILL_W, DL, MVT::v4i32,
1185 Mips::INSERT_W, DL, MVT::v4i32, SDValue(Res, 0),
1194 Mips::COPY_TO_REGCLASS, DL, ViaVecTy, SDValue(Res, 0),
1198 Mips::SPLATI_D, DL, MVT::v2i64, SDValue(Res, 0),
1202 SDValue Zero64Val = CurDAG->getRegister(Mips::ZERO_64, MVT::i64);
1208 Mips::SUBREG_TO_REG, DL, MVT::i64,
1211 CurDAG->getTargetConstant(Mips::sub_32, DL, MVT::i64));
1215 Mips::SUBREG_TO_REG, DL, MVT::i64,
1218 CurDAG->getTargetConstant(Mips::sub_32, DL, MVT::i64));
1236 Res = CurDAG->getMachineNode(Mips::DINSU, DL, MVT::i64, Ops);
1239 Mips::DSLL32, DL, MVT::i64, SDValue(HiRes, 0),
1245 Res = CurDAG->getMachineNode(Mips::FILL_D, DL, MVT::v2i64,
1261 Res = CurDAG->getMachineNode(Mips::COPY_TO_REGCLASS, DL,