i386.c (ix86_float_exceptions_rounding_supported_p): New function.
* config/i386/i386.c (ix86_float_exceptions_rounding_supported_p): New function. (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Define. c-family: * c-cppbuiltin.c (cpp_iec_559_value): Test flag_excess_precision_cmdline not flag_excess_precision. From-SVN: r204390
This commit is contained in:
parent
4de9c53f02
commit
254a0760a1
4 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2013-11-05 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/i386/i386.c (ix86_float_exceptions_rounding_supported_p):
|
||||
New function.
|
||||
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Define.
|
||||
|
||||
2013-11-05 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
PR tree-optimization/58958
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2013-11-05 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* c-cppbuiltin.c (cpp_iec_559_value): Test
|
||||
flag_excess_precision_cmdline not flag_excess_precision.
|
||||
|
||||
2013-11-05 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
* c.opt (fopenmp-simd): New option.
|
||||
|
|
|
@ -734,7 +734,7 @@ cpp_iec_559_value (void)
|
|||
if (flag_iso
|
||||
&& !c_dialect_cxx ()
|
||||
&& TARGET_FLT_EVAL_METHOD != 0
|
||||
&& flag_excess_precision != EXCESS_PRECISION_STANDARD)
|
||||
&& flag_excess_precision_cmdline != EXCESS_PRECISION_STANDARD)
|
||||
ret = 0;
|
||||
|
||||
/* Various options are contrary to IEEE 754 semantics. */
|
||||
|
|
|
@ -43519,6 +43519,18 @@ ix86_memmodel_check (unsigned HOST_WIDE_INT val)
|
|||
return val;
|
||||
}
|
||||
|
||||
/* Implement TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P. */
|
||||
|
||||
static bool
|
||||
ix86_float_exceptions_rounding_supported_p (void)
|
||||
{
|
||||
/* For x87 floating point with standard excess precision handling,
|
||||
there is no adddf3 pattern (since x87 floating point only has
|
||||
XFmode operations) so the default hook implementation gets this
|
||||
wrong. */
|
||||
return TARGET_80387 || TARGET_SSE_MATH;
|
||||
}
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
#undef TARGET_RETURN_IN_MEMORY
|
||||
#define TARGET_RETURN_IN_MEMORY ix86_return_in_memory
|
||||
|
@ -43895,6 +43907,10 @@ ix86_memmodel_check (unsigned HOST_WIDE_INT val)
|
|||
#undef TARGET_SPILL_CLASS
|
||||
#define TARGET_SPILL_CLASS ix86_spill_class
|
||||
|
||||
#undef TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P
|
||||
#define TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P \
|
||||
ix86_float_exceptions_rounding_supported_p
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
#include "gt-i386.h"
|
||||
|
|
Loading…
Add table
Reference in a new issue