Commit 73e42cf3 by Toon Moene Committed by Toon Moene

c-common.c (cb_register_builtins): Set __FINITE_MATH_ONLY__ to 1 if…

c-common.c (cb_register_builtins): Set __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only is given, and to 0 otherwise.

2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>

	* c-common.c (cb_register_builtins): Set
	__FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
	is given, and to 0 otherwise.
	* combine.c (simplify_if_then_else): HONOR_NANS
	implies FLOAT_MODE_P.

From-SVN: r55932
parent e466f369
2002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
* c-common.c (cb_register_builtins): Set
__FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
is given, and to 0 otherwise.
* combine.c (simplify_if_then_else): HONOR_NANS
implies FLOAT_MODE_P.
2002-08-01 Neil Booth <neil@daikokuya.co.uk> 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
* cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar. * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
......
...@@ -4784,7 +4784,9 @@ cb_register_builtins (pfile) ...@@ -4784,7 +4784,9 @@ cb_register_builtins (pfile)
if (flag_signaling_nans) if (flag_signaling_nans)
cpp_define (pfile, "__SUPPORT_SNAN__"); cpp_define (pfile, "__SUPPORT_SNAN__");
if (flag_finite_math_only) if (flag_finite_math_only)
cpp_define (pfile, "__FINITE_MATH_ONLY__"); cpp_define (pfile, "__FINITE_MATH_ONLY__=1");
else
cpp_define (pfile, "__FINITE_MATH_ONLY__=0");
if (flag_iso) if (flag_iso)
cpp_define (pfile, "__STRICT_ANSI__"); cpp_define (pfile, "__STRICT_ANSI__");
......
...@@ -4775,12 +4775,12 @@ simplify_if_then_else (x) ...@@ -4775,12 +4775,12 @@ simplify_if_then_else (x)
/* Convert a == b ? b : a to "a". */ /* Convert a == b ? b : a to "a". */
if (true_code == EQ && ! side_effects_p (cond) if (true_code == EQ && ! side_effects_p (cond)
&& (!FLOAT_MODE_P (mode) || !HONOR_NANS (mode)) && !HONOR_NANS (mode)
&& rtx_equal_p (XEXP (cond, 0), false_rtx) && rtx_equal_p (XEXP (cond, 0), false_rtx)
&& rtx_equal_p (XEXP (cond, 1), true_rtx)) && rtx_equal_p (XEXP (cond, 1), true_rtx))
return false_rtx; return false_rtx;
else if (true_code == NE && ! side_effects_p (cond) else if (true_code == NE && ! side_effects_p (cond)
&& (!FLOAT_MODE_P (mode) || !HONOR_NANS (mode)) && !HONOR_NANS (mode)
&& rtx_equal_p (XEXP (cond, 0), true_rtx) && rtx_equal_p (XEXP (cond, 0), true_rtx)
&& rtx_equal_p (XEXP (cond, 1), false_rtx)) && rtx_equal_p (XEXP (cond, 1), false_rtx))
return true_rtx; return true_rtx;
......
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