diff options
author | Dale Johannesen <dalej@apple.com> | 2005-06-10 01:16:52 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@gcc.gnu.org> | 2005-06-10 01:16:52 +0000 |
commit | 2e3f0db6f996d6b3d84955391263e9d035d58760 (patch) | |
tree | be41b63edfaa93227ab09b71f4485a27df0f3511 | |
parent | e94412761a952781f4b29043a8f11e8b53a9e159 (diff) | |
download | gcc-2e3f0db6f996d6b3d84955391263e9d035d58760.zip gcc-2e3f0db6f996d6b3d84955391263e9d035d58760.tar.gz gcc-2e3f0db6f996d6b3d84955391263e9d035d58760.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 8 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 4 |
4 files changed, 27 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d41db88..b91d5d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +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> * config/rs6000/rs6000.md (eq): Convert to define_insn_and_split. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 0ff50ec..8dd2d15 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1636,6 +1636,11 @@ optimization_options (int level, int size ATTRIBUTE_UNUSED) flag_schedule_insns = 0; #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 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 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 732ccbb..5aa2558 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -906,8 +906,8 @@ static const char alt_reg_names[][8] = #undef TARGET_FUNCTION_OK_FOR_SIBCALL #define TARGET_FUNCTION_OK_FOR_SIBCALL rs6000_function_ok_for_sibcall -#undef TARGET_INSN_VALID_WITHIN_DOLOOP -#define TARGET_INSN_VALID_WITHIN_DOLOOP rs6000_invalid_within_doloop +#undef TARGET_INVALID_WITHIN_DOLOOP +#define TARGET_INVALID_WITHIN_DOLOOP rs6000_invalid_within_doloop #undef TARGET_RTX_COSTS #define TARGET_RTX_COSTS rs6000_rtx_costs @@ -1543,6 +1543,10 @@ rs6000_parse_tls_size_option (void) void 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. */ diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 95846f1..8b12244 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -5331,6 +5331,10 @@ math functions. 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 @opindex funsafe-math-optimizations Allow optimizations for floating-point arithmetic that (a) assume |