diff options
Diffstat (limited to 'lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp')
-rw-r--r-- | lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp b/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp index 2f6dd0035de3..cd34b0ab70b4 100644 --- a/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp +++ b/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp @@ -656,27 +656,29 @@ getExprOpValue(const MCExpr *Expr, SmallVectorImpl<MCFixup> &Fixups, break; case MipsMCExpr::MEK_LO: // Check for %lo(%neg(%gp_rel(X))) - if (MipsExpr->isGpOff()) { - FixupKind = Mips::fixup_Mips_GPOFF_LO; - break; - } - FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_LO16 - : Mips::fixup_Mips_LO16; + if (MipsExpr->isGpOff()) + FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GPOFF_LO + : Mips::fixup_Mips_GPOFF_LO; + else + FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_LO16 + : Mips::fixup_Mips_LO16; break; case MipsMCExpr::MEK_HIGHEST: - FixupKind = Mips::fixup_Mips_HIGHEST; + FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_HIGHEST + : Mips::fixup_Mips_HIGHEST; break; case MipsMCExpr::MEK_HIGHER: - FixupKind = Mips::fixup_Mips_HIGHER; + FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_HIGHER + : Mips::fixup_Mips_HIGHER; break; case MipsMCExpr::MEK_HI: // Check for %hi(%neg(%gp_rel(X))) - if (MipsExpr->isGpOff()) { - FixupKind = Mips::fixup_Mips_GPOFF_HI; - break; - } - FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_HI16 - : Mips::fixup_Mips_HI16; + if (MipsExpr->isGpOff()) + FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_GPOFF_HI + : Mips::fixup_Mips_GPOFF_HI; + else + FixupKind = isMicroMips(STI) ? Mips::fixup_MICROMIPS_HI16 + : Mips::fixup_Mips_HI16; break; case MipsMCExpr::MEK_PCREL_HI16: FixupKind = Mips::fixup_MIPS_PCHI16; @@ -1058,13 +1060,6 @@ MipsMCCodeEmitter::getRegisterListOpValue16(const MCInst &MI, unsigned OpNo, } unsigned -MipsMCCodeEmitter::getRegisterPairOpValue(const MCInst &MI, unsigned OpNo, - SmallVectorImpl<MCFixup> &Fixups, - const MCSubtargetInfo &STI) const { - return getMachineOpValue(MI, MI.getOperand(OpNo), Fixups, STI); -} - -unsigned MipsMCCodeEmitter::getMovePRegPairOpValue(const MCInst &MI, unsigned OpNo, SmallVectorImpl<MCFixup> &Fixups, const MCSubtargetInfo &STI) const { |