Lines Matching defs:STI
39 static bool isMicroMips(const MCSubtargetInfo *STI) {
40 return STI->hasFeature(Mips::FeatureMicroMips);
43 static bool isMips32r6(const MCSubtargetInfo *STI) {
44 return STI->hasFeature(Mips::FeatureMips32r6);
141 const MCSubtargetInfo *STI) {
176 const MCSubtargetInfo *STI) {
181 getStreamer().emitInstruction(TmpInst, *STI);
185 SMLoc IDLoc, const MCSubtargetInfo *STI) {
191 getStreamer().emitInstruction(TmpInst, *STI);
195 SMLoc IDLoc, const MCSubtargetInfo *STI) {
196 emitRX(Opcode, Reg0, MCOperand::createImm(Imm), IDLoc, STI);
200 SMLoc IDLoc, const MCSubtargetInfo *STI) {
201 emitRX(Opcode, Reg0, MCOperand::createReg(Reg1), IDLoc, STI);
205 SMLoc IDLoc, const MCSubtargetInfo *STI) {
211 getStreamer().emitInstruction(TmpInst, *STI);
216 const MCSubtargetInfo *STI) {
223 getStreamer().emitInstruction(TmpInst, *STI);
228 const MCSubtargetInfo *STI) {
229 emitRRX(Opcode, Reg0, Reg1, MCOperand::createReg(Reg2), IDLoc, STI);
234 const MCSubtargetInfo *STI) {
242 getStreamer().emitInstruction(TmpInst, *STI);
247 const MCSubtargetInfo *STI) {
248 emitRRX(Opcode, Reg0, Reg1, MCOperand::createImm(Imm), IDLoc, STI);
254 const MCSubtargetInfo *STI) {
263 getStreamer().emitInstruction(TmpInst, *STI);
268 const MCSubtargetInfo *STI) {
270 STI);
275 const MCSubtargetInfo *STI) {
277 emitRRI(Mips::DSLL32, DstReg, SrcReg, ShiftAmount - 32, IDLoc, STI);
281 emitRRI(Mips::DSLL, DstReg, SrcReg, ShiftAmount, IDLoc, STI);
285 const MCSubtargetInfo *STI) {
288 if (isMicroMips(STI) && hasShortDelaySlot) {
289 Opc = isMips32r6(STI) ? Mips::MOVE16_MMR6 : Mips::MOVE16_MM;
290 emitRR(Opc, Mips::ZERO, Mips::ZERO, IDLoc, STI);
294 if (isMicroMips(STI))
295 Opc = isMips32r6(STI) ? Mips::SLL_MMR6 : Mips::SLL_MM;
297 emitRRI(Opc, Mips::ZERO, Mips::ZERO, 0, IDLoc, STI);
300 void MipsTargetStreamer::emitNop(SMLoc IDLoc, const MCSubtargetInfo *STI) {
301 if (isMicroMips(STI))
302 emitRR(Mips::MOVE16_MM, Mips::ZERO, Mips::ZERO, IDLoc, STI);
304 emitRRI(Mips::SLL, Mips::ZERO, Mips::ZERO, 0, IDLoc, STI);
309 const MCSubtargetInfo *STI) {
310 emitLoadWithImmOffset(Mips::LW, GPReg, Mips::SP, Offset, GPReg, IDLoc, STI);
317 const MCSubtargetInfo *STI) {
319 emitRRI(Opcode, SrcReg, BaseReg, Offset, IDLoc, STI);
340 emitRI(Mips::LUi, ATReg, HiOffset, IDLoc, STI);
342 emitRRR(Mips::ADDu, ATReg, ATReg, BaseReg, IDLoc, STI);
344 emitRRI(Opcode, SrcReg, ATReg, LoOffset, IDLoc, STI);
354 const MCSubtargetInfo *STI) {
356 emitRRI(Opcode, DstReg, BaseReg, Offset, IDLoc, STI);
376 emitRI(Mips::LUi, TmpReg, HiOffset, IDLoc, STI);
378 emitRRR(Mips::ADDu, TmpReg, TmpReg, BaseReg, IDLoc, STI);
380 emitRRI(Opcode, DstReg, TmpReg, LoOffset, IDLoc, STI);
700 const MCSubtargetInfo *STI) {
701 MipsTargetStreamer::emitDirectiveCpRestore(Offset, GetATReg, IDLoc, STI);
801 const MCSubtargetInfo &STI)
802 : MipsTargetStreamer(S), MicroMipsEnabled(false), STI(STI) {
815 const FeatureBitset &Features = STI.getFeatureBits();
836 STI.getTargetTriple().getArch() == Triple::ArchType::mipsel ||
837 STI.getTargetTriple().getArch() == Triple::ArchType::mips
920 S.emitCodeAlignment(Alignment, &STI, Alignment.value());
926 const FeatureBitset &Features = STI.getFeatureBits();
1147 emitAddu(RegNo, RegNo, GPReg, getABI().IsN64(), &STI);
1182 getStreamer().emitInstruction(TmpInst, STI);
1195 getStreamer().emitInstruction(TmpInst, STI);
1203 getStreamer().emitInstruction(TmpInst, STI);
1215 const MCSubtargetInfo *STI) {
1216 MipsTargetStreamer::emitDirectiveCpRestore(Offset, GetATReg, IDLoc, STI);
1230 STI);
1250 emitRRR(Mips::OR64, RegOrOffset, GPReg, Mips::ZERO, SMLoc(), &STI);
1253 emitRRI(Mips::SD, GPReg, Mips::SP, RegOrOffset, SMLoc(), &STI);
1264 emitRX(Mips::LUi, GPReg, MCOperand::createExpr(HiExpr), SMLoc(), &STI);
1268 &STI);
1272 emitRRR(Mips::ADDu, GPReg, GPReg, RegNo, SMLoc(), &STI);
1274 emitRRR(Mips::DADDu, GPReg, GPReg, RegNo, SMLoc(), &STI);
1296 getStreamer().emitInstruction(Inst, STI);