From 5a4171a01d9f9041175a6b7c473ed43a623bea0b Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Sat, 21 Oct 2006 10:40:57 +0000 Subject: [PATCH] re PR target/19116 (-funsafe-math-optimizations make nan compares equal to one another (-finite-math-only should be doing that)) 2006-10-21 Richard Guenther PR target/19116 * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP if flag_unsafe_math_optimizations is specified. We have flag_finite_math_only for that. * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP or flag_unsafe_math_optimizations. From-SVN: r117930 --- gcc/ChangeLog | 9 +++++++++ gcc/config/i386/i386.c | 2 +- gcc/config/i386/i386.md | 3 +-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bbf20f92286..0bb59aab9b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2006-10-21 Richard Guenther + + PR target/19116 + * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP + if flag_unsafe_math_optimizations is specified. We have + flag_finite_math_only for that. + * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP + or flag_unsafe_math_optimizations. + 2006-10-21 Richard Guenther * builtins.c (fold_builtin_classify): Fix typo. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 6be47cdb410..8b2c798077c 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1847,7 +1847,7 @@ override_options (void) /* If we're doing fast math, we don't care about comparison order wrt NaNs. This lets us use a shorter comparison sequence. */ - if (flag_unsafe_math_optimizations) + if (flag_finite_math_only) target_flags &= ~MASK_IEEE_FP; /* If the architecture always has an FPU, turn off NO_FANCY_MATH_387, diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 639f0b44f74..d24b32af42e 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -15560,8 +15560,7 @@ (define_insn "sqrtxf2" [(set (match_operand:XF 0 "register_operand" "=f") (sqrt:XF (match_operand:XF 1 "register_operand" "0")))] - "TARGET_USE_FANCY_MATH_387 - && (TARGET_IEEE_FP || flag_unsafe_math_optimizations) " + "TARGET_USE_FANCY_MATH_387" "fsqrt" [(set_attr "type" "fpspc") (set_attr "mode" "XF")