Lines Matching full:mips
1 //===-- MipsMCCodeEmitter.cpp - Convert Mips Code to Machine Code ---------===//
75 case Mips::DSLL:
76 Inst.setOpcode(Mips::DSLL32);
78 case Mips::DSRL:
79 Inst.setOpcode(Mips::DSRL32);
81 case Mips::DSRA:
82 Inst.setOpcode(Mips::DSRA32);
84 case Mips::DROTR:
85 Inst.setOpcode(Mips::DROTR32);
100 if (Inst.getOpcode() == Mips::BNEC || Inst.getOpcode() == Mips::BEQC ||
101 Inst.getOpcode() == Mips::BNEC64 || Inst.getOpcode() == Mips::BEQC64) {
105 } else if (Inst.getOpcode() == Mips::BNVC || Inst.getOpcode() == Mips::BOVC) {
108 } else if (Inst.getOpcode() == Mips::BNVC_MMR6 ||
109 Inst.getOpcode() == Mips::BOVC_MMR6) {
120 return STI.hasFeature(Mips::FeatureMicroMips);
124 return STI.hasFeature(Mips::FeatureMips32r6);
144 case Mips::DSLL:
145 case Mips::DSRL:
146 case Mips::DSRA:
147 case Mips::DROTR:
151 case Mips::BEQC:
152 case Mips::BNEC:
153 case Mips::BEQC64:
154 case Mips::BNEC64:
155 case Mips::BOVC:
156 case Mips::BOVC_MMR6:
157 case Mips::BNVC:
158 case Mips::BNVC_MMR6:
166 // Unfortunately in MIPS both NOP and SLL will come in with Binary == 0
169 if ((Opcode != Mips::NOP) && (Opcode != Mips::SLL) &&
170 (Opcode != Mips::SLL_MM) && (Opcode != Mips::SLL_MMR6) && !Binary)
176 NewOpcode = Mips::MipsR62MicroMipsR6(Opcode, Mips::Arch_micromipsr6);
178 NewOpcode = Mips::Std2MicroMipsR6(Opcode, Mips::Arch_micromipsr6);
181 NewOpcode = Mips::Std2MicroMips(Opcode, Mips::Arch_micromips);
185 NewOpcode = Mips::Dsp2MicroMips(Opcode, Mips::Arch_mmdsp);
195 if (((MI.getOpcode() == Mips::MOVEP_MM) ||
196 (MI.getOpcode() == Mips::MOVEP_MMR6))) {
239 MCFixupKind(Mips::fixup_Mips_PC16)));
261 MCFixupKind(Mips::fixup_Mips_PC16)));
284 MCFixupKind(Mips::fixup_Mips_PC16)));
307 MCFixupKind(Mips::fixup_Mips_PC16)));
328 MCFixupKind(Mips::fixup_MICROMIPS_PC7_S1)));
349 MCFixupKind(Mips::fixup_MICROMIPS_PC10_S1)));
370 MCFixupKind(Mips::
393 MCFixupKind(Mips::fixup_MIPS_PC21_S2)));
415 MCFixupKind(Mips::fixup_MICROMIPS_PC21_S1)));
437 MCFixupKind(Mips::fixup_MIPS_PC26_S2)));
459 MCFixupKind(Mips::fixup_MICROMIPS_PC26_S1)));
478 Mips::Fixups FixupKind =
479 isMicroMips(STI) ? Mips::fixup_MICROMIPS_LO16 : Mips::fixup_Mips_LO16;
500 MCFixupKind(Mips::fixup_Mips_26)));
517 MCFixupKind(Mips::fixup_MICROMIPS_26_S1)));
601 Mips::Fixups FixupKind = Mips::Fixups(0);
612 FixupKind = Mips::fixup_Mips_CALL_HI16;
615 FixupKind = Mips::fixup_Mips_CALL_LO16;
618 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_TLS_DTPREL_HI16
619 : Mips::fixup_Mips_DTPREL_HI;
622 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_TLS_DTPREL_LO16
623 : Mips::fixup_Mips_DTPREL_LO;
626 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GOTTPREL
627 : Mips::fixup_Mips_GOTTPREL;
630 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GOT16
631 : Mips::fixup_Mips_GOT;
634 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_CALL16
635 : Mips::fixup_Mips_CALL16;
638 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GOT_DISP
639 : Mips::fixup_Mips_GOT_DISP;
642 FixupKind = Mips::fixup_Mips_GOT_HI16;
645 FixupKind = Mips::fixup_Mips_GOT_LO16;
648 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GOT_PAGE
649 : Mips::fixup_Mips_GOT_PAGE;
652 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GOT_OFST
653 : Mips::fixup_Mips_GOT_OFST;
656 FixupKind = Mips::fixup_Mips_GPREL16;
661 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GPOFF_LO
662 : Mips::fixup_Mips_GPOFF_LO;
664 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_LO16
665 : Mips::fixup_Mips_LO16;
668 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_HIGHEST
669 : Mips::fixup_Mips_HIGHEST;
672 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_HIGHER
673 : Mips::fixup_Mips_HIGHER;
678 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GPOFF_HI
679 : Mips::fixup_Mips_GPOFF_HI;
681 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_HI16
682 : Mips::fixup_Mips_HI16;
685 FixupKind = Mips::fixup_MIPS_PCHI16;
688 FixupKind = Mips::fixup_MIPS_PCLO16;
691 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_TLS_GD
692 : Mips::fixup_Mips_TLSGD;
695 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_TLS_LDM
696 : Mips::fixup_Mips_TLSLDM;
699 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_TLS_TPREL_HI16
700 : Mips::fixup_Mips_TPREL_HI;
703 FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_TLS_TPREL_LO16
704 : Mips::fixup_Mips_TPREL_LO;
708 isMicroMips(STI) ? Mips::fixup_MICROMIPS_SUB : Mips::fixup_Mips_SUB;
806 (MI.getOperand(OpNo).getReg() == Mips::SP ||
807 MI.getOperand(OpNo).getReg() == Mips::SP_64) &&
821 MI.getOperand(OpNo).getReg() == Mips::GP &&
866 case Mips::SWM32_MM:
867 case Mips::LWM32_MM:
903 case Mips::SWM16_MM:
904 case Mips::SWM16_MMR6:
905 case Mips::LWM16_MM:
906 case Mips::LWM16_MMR6:
961 Mips::Fixups FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_PC19_S2
962 : Mips::fixup_MIPS_PC19_S2;
983 Mips::Fixups FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_PC18_S3
984 : Mips::fixup_MIPS_PC18_S3;
1059 if (MI.getOperand(0).getReg() == Mips::A1 &&
1060 MI.getOperand(1).getReg() == Mips::A2)
1062 else if (MI.getOperand(0).getReg() == Mips::A1 &&
1063 MI.getOperand(1).getReg() == Mips::A3)
1065 else if (MI.getOperand(0).getReg() == Mips::A2 &&
1066 MI.getOperand(1).getReg() == Mips::A3)
1068 else if (MI.getOperand(0).getReg() == Mips::A0 &&
1069 MI.getOperand(1).getReg() == Mips::S5)
1071 else if (MI.getOperand(0).getReg() == Mips::A0 &&
1072 MI.getOperand(1).getReg() == Mips::S6)
1074 else if (MI.getOperand(0).getReg() == Mips::A0 &&
1075 MI.getOperand(1).getReg() == Mips::A1)
1077 else if (MI.getOperand(0).getReg() == Mips::A0 &&
1078 MI.getOperand(1).getReg() == Mips::A2)
1080 else if (MI.getOperand(0).getReg() == Mips::A0 &&
1081 MI.getOperand(1).getReg() == Mips::A3)
1099 case Mips::ZERO: return 0;
1100 case Mips::S1: return 1;
1101 case Mips::V0: return 2;
1102 case Mips::V1: return 3;
1103 case Mips::S0: return 4;
1104 case Mips::S2: return 5;
1105 case Mips::S3: return 6;
1106 case Mips::S4: return 7;