This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]