+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.
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
#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
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. */
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