diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 9a1ea761587..8e24995dec8 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -2537,10 +2537,17 @@ "TARGET_68881" "* { +#ifdef FSGLMUL_USE_S + if (REG_P (operands[2]) && ! DATA_REG_P (operands[2])) + return (TARGET_68040_ONLY + ? \"fsmul%.s %2,%0\" + : \"fsglmul%.s %2,%0\"); +#else if (REG_P (operands[2]) && ! DATA_REG_P (operands[2])) return (TARGET_68040_ONLY ? \"fsmul%.x %2,%0\" : \"fsglmul%.x %2,%0\"); +#endif return (TARGET_68040_ONLY ? \"fsmul%.s %f2,%0\" : \"fsglmul%.s %f2,%0\");