From 79e22ff8a4524d3f893ed01f508727d59a31a20e Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Thu, 5 Nov 2009 14:11:26 +0000 Subject: 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(-) (limited to 'gcc') 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 + + * 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 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 -- cgit v1.1