aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2009-11-05 14:11:26 +0000
committerMichael Matz <matz@gcc.gnu.org>2009-11-05 14:11:26 +0000
commit79e22ff8a4524d3f893ed01f508727d59a31a20e (patch)
tree072cc0b7f17624b605c0faacb8c6cb7a931d9219
parent338311e5d77550d5eba3b760c3db517de7a93016 (diff)
downloadgcc-79e22ff8a4524d3f893ed01f508727d59a31a20e.zip
gcc-79e22ff8a4524d3f893ed01f508727d59a31a20e.tar.gz
gcc-79e22ff8a4524d3f893ed01f508727d59a31a20e.tar.bz2
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
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c2
-rw-r--r--gcc/doc/invoke.texi4
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9643b5f..b5ceb7b 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 1c064bf..2031dfb 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 0a8911b..20a9395 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