This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH/RFC] Fix PR19402, __builtin_powi[lf]
On Tue, Feb 01, 2005 at 11:20:32AM +0100, Richard Guenther wrote:
> Yes I did, it's mainly about code size - I would be in favor of dropping
> flag_unsafe_math_optimizations - but we somehow need to limit the
> expansion size in any case.
I think POWI_MAX_MULTS is appropriate. Of course, I think the
cureent setting of 126 is probably too high. We could fairly
easily make this a --parm setting.
I'd prolly allow 6 or 8 multiplications by default.
> Ok, I'm actually a bit confused about the names - now I use
> #define __powisf __NW(powisf,)
> because the second argument is an int - and get on i686-linux in
> libgcc.a:
> _powisf.o:
> 00000000 T __powisfsi
Reasonable.
> but I guess on another target it could be f.i. __powisfdi?
Could. Depends on how you define the function, exactly. Using the
__NW definition, you don't want "int", but whatever type "word_mode"
corresponds to. That's BT_WORD in builtin-types.def. That's a nicely
more flexible definition, actually.
> How do I figure out the symbol name to put into libgcc-std.ver?
You put them all. The ones that are unused will be ignored.
r~