This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/51340] SH Target: Make -mfused-madd enabled by default
- From: "kkojima at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 28 Dec 2011 22:31:27 +0000
- Subject: [Bug target/51340] SH Target: Make -mfused-madd enabled by default
- Auto-submitted: auto-generated
- References: <bug-51340-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51340
--- Comment #3 from Kazumoto Kojima <kkojima at gcc dot gnu.org> 2011-12-28 22:31:27 UTC ---
(In reply to comment #2)
> Uhm, yes...
> The title should have been "Enable -mfused-madd by -ffast-math"
Do you mean something like this?
--- ORIG/trunk/gcc/config/sh/sh.c 2011-12-03 10:03:41.000000000 +0900
+++ trunk/gcc/config/sh/sh.c 2011-12-27 08:33:23.000000000 +0900
@@ -838,6 +838,11 @@ sh_option_override (void)
align_functions = min_align;
}
+ /* Default to use fmac insn when -ffast-math. See PR target/29100. */
+ if (global_options_set.x_TARGET_FMAC == 0
+ && fast_math_flags_set_p (&global_options)
+ TARGET_FMAC = 1;
+
if (sh_fixed_range_str)
sh_fix_range (sh_fixed_range_str);
> I don't know the exact semantics for the new patterns. All I know is that
> rounding is supposed to be done only once after the two operations. This is
> the case for the SH fmac insn. Not sure whether this is enough though.
It seems that we can use the fma pattern, though it would be an another issue.