From 79e22ff8a4524d3f893ed01f508727d59a31a20e Mon Sep 17 00:00:00 2001 From: Michael Matz <matz@suse.de> Date: Thu, 5 Nov 2009 14:11:26 +0000 Subject: [PATCH] i386.c (ix86_builtin_reciprocal): Remove dependency on TARGET_RECIP. * config/i386/i386.c (ix86_builtin_reciprocal): Remove dependency on TARGET_RECIP. * doc/invoke.texi (-mrecip): Clarify that we don't need -mrecip for 1/sqrtf. From-SVN: r153940 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386.c | 2 +- gcc/doc/invoke.texi | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9643b5fff2ec..b5ceb7b6b91a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-11-05 Michael Matz <matz@suse.de> + + * config/i386/i386.c (ix86_builtin_reciprocal): Remove dependency + on TARGET_RECIP. + * doc/invoke.texi (-mrecip): Clarify that we don't need -mrecip + for 1/sqrtf. + 2009-11-04 Jason Merrill <jason@redhat.com> PR c++/36912 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 1c064bf98d86..2031dfb6e987 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -26070,7 +26070,7 @@ static tree ix86_builtin_reciprocal (unsigned int fn, bool md_fn, bool sqrt ATTRIBUTE_UNUSED) { - if (! (TARGET_SSE_MATH && TARGET_RECIP && !optimize_insn_for_size_p () + if (! (TARGET_SSE_MATH && !optimize_insn_for_size_p () && flag_finite_math_only && !flag_trapping_math && flag_unsafe_math_optimizations)) return NULL_TREE; diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 0a8911b6a560..20a9395f0b7e 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -12096,6 +12096,10 @@ Note that while the throughput of the sequence is higher than the throughput of the non-reciprocal instruction, the precision of the sequence can be decreased by up to 2 ulp (i.e. the inverse of 1.0 equals 0.99999994). +Note that GCC implements 1.0f/sqrtf(x) in terms of RSQRTSS (or RSQRTPS) +already with @option{-ffast-math} (or the above option combination), and +doesn't need @option{-mrecip}. + @item -mveclibabi=@var{type} @opindex mveclibabi Specifies the ABI type to use for vectorizing intrinsics using an -- GitLab