From: Ralf Baechle Date: Wed, 30 Apr 2014 09:09:44 +0000 (+0200) Subject: MIPS: math-emu: Reduce microMIPS bloat. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=70e4c234aa48e11c0575364939dfab4cb27b2172;p=openwrt%2Fstaging%2Fblogic.git 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 --- 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) {