summaryrefslogtreecommitdiff
path: root/arch/mips/math-emu/cp1emu.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2014-04-30 13:09:44 +0400
committerRalf Baechle <ralf@linux-mips.org>2014-05-23 17:12:38 +0400
commit70e4c234aa48e11c0575364939dfab4cb27b2172 (patch)
tree6611c89939d23af61208b503a35ba9564b0279ac /arch/mips/math-emu/cp1emu.c
parent56a6473339dbd2e908cf8c6f2856d5de2bf8d15b (diff)
downloadlinux-70e4c234aa48e11c0575364939dfab4cb27b2172.tar.xz
MIPS: math-emu: Reduce microMIPS bloat.
Move microMIPS32_to_MIPS32() to a separate file which only gets built for mipsMIPS configurations; for other configurations the optimizer eleminates calls to microMIPS32_to_MIPS32(). Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/math-emu/cp1emu.c')
-rw-r--r--arch/mips/math-emu/cp1emu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
index 03e233223af7..08e6a74fbc95 100644
--- a/arch/mips/math-emu/cp1emu.c
+++ b/arch/mips/math-emu/cp1emu.c
@@ -709,6 +709,13 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
u64 dval;
int sig;
+ /*
+ * These are giving gcc a gentle hint about what to expect in
+ * dec_inst in order to do better optimization.
+ */
+ if (!cpu_has_mmips && dec_insn.micro_mips_mode)
+ unreachable();
+
/* XXX NEC Vr54xx bug workaround */
if (delay_slot(xcp)) {
if (dec_insn.micro_mips_mode) {