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