This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/11706] std::pow(T, int) implementation pessimizes code
- From: "pcarlini at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Mar 2004 20:01:06 -0000
- Subject: [Bug libstdc++/11706] std::pow(T, int) implementation pessimizes code
- References: <20030729120327.11706.rguenth@tat.physik.uni-tuebingen.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pcarlini at suse dot de 2004-03-10 20:01 -------
Subject: Re: std::pow(T, int) implementation pessimizes
code
gdr at integrable-solutions dot net wrote:
>| >The issue is actually solved in tree--ssa (or was reported as
>| >such at some point in the past). I believe this should be targetted
>| >for 3.5.0. It really is compiler-optimization issue even though it is
>| >not labelled as scuh.
>| >
>| >
>| This is very good to know, if confirmed: do you have a pointer?
>
>Don't have a pointer handy but, google for messages from Richard G. with the
>complain that the ::pow() is no longer "inlined".
>
>
Anyway, the issue is *not* solved in tree-ssa, because __cmath_power
cannot be
unrolled due to its non-linear iv. The blocker is the unroller not the
inliner, see
PR 11710. Zdenek confirmed in private email that the unroller *could* be
fixed,
in principle, but nobody is working on the issue.
Short-term the only feasible approach seems the one outlined by Richard
here:
http://gcc.gnu.org/ml/gcc/2003-07/msg01950.html
Luckily, I have plenty of time, since for this PR "rush" is defined as
something of
order 1-2 months :-P
Paolo.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11706