i386.c (ix86_option_override_internal): Switch to SSE math for -ffast-math when target ISA supports SSE2.
* config/i386/i386.c (ix86_option_override_internal): Switch to SSE math for -ffast-math when target ISA supports SSE2. From-SVN: r203291
This commit is contained in:
parent
c80217c9fa
commit
a81169d8fa
2 changed files with 18 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-10-08 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* config/i386/i386.c (ix86_option_override_internal): Switch
|
||||
to SSE math for -ffast-math when target ISA supports SSE2.
|
||||
|
||||
2013-10-08 Andrew MacLeod <amacleod@redhat.com>
|
||||
|
||||
* tree-flow.h: Remove some prototypes.
|
||||
|
|
|
@ -3769,6 +3769,19 @@ ix86_option_override_internal (bool main_args_p)
|
|||
}
|
||||
}
|
||||
}
|
||||
/* For all chips supporting SSE2, -mfpmath=sse performs better than
|
||||
fpmath=387. The second is however default at many targets since the
|
||||
extra 80bit precision of temporaries is considered to be part of ABI.
|
||||
Overwrite the default at least for -ffast-math.
|
||||
TODO: -mfpmath=both seems to produce same performing code with bit
|
||||
smaller binaries. It is however not clear if register allocation is
|
||||
ready for this setting.
|
||||
Also -mfpmath=387 is overall a lot more compact (bout 4-5%) than SSE
|
||||
codegen. We may switch to 387 with -ffast-math for size optimized
|
||||
functions. */
|
||||
else if (fast_math_flags_set_p (&global_options)
|
||||
&& TARGET_SSE2)
|
||||
ix86_fpmath = FPMATH_SSE;
|
||||
else
|
||||
ix86_fpmath = TARGET_FPMATH_DEFAULT;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue