MIPS: math-emu: Reduce microMIPS bloat.
authorRalf Baechle <ralf@linux-mips.org>
Wed, 30 Apr 2014 09:09:44 +0000 (11:09 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 23 May 2014 13:12:38 +0000 (15:12 +0200)
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>
arch/mips/math-emu/cp1emu.c

index 03e233223af72221c96effc3a5a3835f2e9623dc..08e6a74fbc95f9996fc05ea8b24890951778aa91 100644 (file)
@@ -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) {