Commit 2e3f0db6 by Dale Johannesen Committed by Dale Johannesen

i386.c (optimization_options): Make -fno-math-errno the default on Darwin.

2005-06-09  Dale Johannesen  <dalej@apple.com>

        * config/i386/i386.c (optimization_options):  Make -fno-math-errno
        the default on Darwin.
        * config/rs6000/rs6000.c (optimization_options):  Ditto.
        * doc/invoke.texi (-fno-math-errno): Document.

2005-06-09  Dale Johannesen  <dalej@apple.com>

        * config/rs6000/rs6000.c (TARGET_INSN_VALID_WITHIN_DOLOOP):
        Change to TARGET_INVALID_WITHIN_DOLOOP.

From-SVN: r100813
parent e9441276
2005-06-09 Dale Johannesen <dalej@apple.com>
* config/i386/i386.c (optimization_options): Make -fno-math-errno
the default on Darwin.
* config/rs6000/rs6000.c (optimization_options): Ditto.
* doc/invoke.texi (-fno-math-errno): Document.
2005-06-09 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.c (TARGET_INSN_VALID_WITHIN_DOLOOP):
Change to TARGET_INVALID_WITHIN_DOLOOP.
2005-06-09 David Edelsohn <edelsohn@gnu.org> 2005-06-09 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.md (eq): Convert to define_insn_and_split. * config/rs6000/rs6000.md (eq): Convert to define_insn_and_split.
......
...@@ -1636,6 +1636,11 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED) ...@@ -1636,6 +1636,11 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED)
flag_schedule_insns = 0; flag_schedule_insns = 0;
#endif #endif
if (TARGET_MACHO)
/* The Darwin libraries never set errno, so we might as well
avoid calling them when that's the only reason we would. */
flag_errno_math = 0;
/* The default values of these switches depend on the TARGET_64BIT /* The default values of these switches depend on the TARGET_64BIT
that is not known at this moment. Mark these values with 2 and that is not known at this moment. Mark these values with 2 and
let user the to override these. In case there is no command line option let user the to override these. In case there is no command line option
......
...@@ -906,8 +906,8 @@ static const char alt_reg_names[][8] = ...@@ -906,8 +906,8 @@ static const char alt_reg_names[][8] =
#undef TARGET_FUNCTION_OK_FOR_SIBCALL #undef TARGET_FUNCTION_OK_FOR_SIBCALL
#define TARGET_FUNCTION_OK_FOR_SIBCALL rs6000_function_ok_for_sibcall #define TARGET_FUNCTION_OK_FOR_SIBCALL rs6000_function_ok_for_sibcall
#undef TARGET_INSN_VALID_WITHIN_DOLOOP #undef TARGET_INVALID_WITHIN_DOLOOP
#define TARGET_INSN_VALID_WITHIN_DOLOOP rs6000_invalid_within_doloop #define TARGET_INVALID_WITHIN_DOLOOP rs6000_invalid_within_doloop
#undef TARGET_RTX_COSTS #undef TARGET_RTX_COSTS
#define TARGET_RTX_COSTS rs6000_rtx_costs #define TARGET_RTX_COSTS rs6000_rtx_costs
...@@ -1543,6 +1543,10 @@ rs6000_parse_tls_size_option (void) ...@@ -1543,6 +1543,10 @@ rs6000_parse_tls_size_option (void)
void void
optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED) optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED)
{ {
if (DEFAULT_ABI == ABI_DARWIN)
/* The Darwin libraries never set errno, so we might as well
avoid calling them when that's the only reason we would. */
flag_errno_math = 0;
} }
/* Implement TARGET_HANDLE_OPTION. */ /* Implement TARGET_HANDLE_OPTION. */
......
...@@ -5331,6 +5331,10 @@ math functions. ...@@ -5331,6 +5331,10 @@ math functions.
The default is @option{-fmath-errno}. The default is @option{-fmath-errno}.
On Darwin systems, the math library never sets @code{errno}. There is therefore
no reason for the compiler to consider the possibility that it might,
and @option{-fno-math-errno} is the default.
@item -funsafe-math-optimizations @item -funsafe-math-optimizations
@opindex funsafe-math-optimizations @opindex funsafe-math-optimizations
Allow optimizations for floating-point arithmetic that (a) assume Allow optimizations for floating-point arithmetic that (a) assume
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment