[Bug middle-end/40106] [4.4/4.5 Regression] Weird interaction between optimize_insn_for_speed_p and -funsafe-math-optimizations
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Tue Mar 16 15:52:00 GMT 2010
------- Comment #40 from rguenther at suse dot de 2010-03-16 15:52 -------
Subject: Re: [4.4/4.5 Regression] Weird interaction
between optimize_insn_for_speed_p and -funsafe-math-optimizations
On Tue, 16 Mar 2010, dominiq at lps dot ens dot fr wrote:
>
>
> ------- Comment #39 from dominiq at lps dot ens dot fr 2010-03-16 15:49 -------
> > Especially on embedded targets with soft-float the multiplication would
> > add a significant code size penalty.
>
> Even in this case this would strongly of the code. It may be true if other
> pieces require log and exp. If not I seriously doubt that replacing the code
> for multiplies and square roots will be larger than the code for log and exp.
Parse error.
> My (very limited) understanding of this issue is that at some point x*sqrt(x)
> is replaced with pow(x,1.5) (so that pow(x,a)*pow(x,b) is optimized as
> pow(x,a+b)). So even if the programmer write x*sqrt(x) (s)he can end up with
> pow(x,1.5), resulting in poor performances in term of both speed and size (not
> speaking of accuracy).
Yes, that's true. This is what you'd expect when optimizing for size -
turn x*sqrt(x) to pow(x,1.5).
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40106
More information about the Gcc-bugs
mailing list