Replacing certain operations with function calls

Richard Henderson rth@redhat.com
Wed Sep 2 15:34:00 GMT 2009


On 09/01/2009 03:20 PM, Jean Christophe Beyler wrote:
> First off: does this seem correct?

Yes.  Though I do wonder why you are avoiding using the normal libcall 
machinery.  If all you really care about is changing the function name, 
then all you need to do is modify the appropriate optab.  See, for 
instance, arm_init_libfuncs.

But if you need slightly different calling conventions, then this will 
work just fine.  Compare this to the Alpha TFmode routines generated by 
alpha_emit_xfloating_libcall.

> However, I am unsure this is possible in the expand stage, would the
> expand stage automatically have this instead:
>
> mult tmp1, a, b
> mult tmp2, c, d
>
> mov output1, tmp1
> mov output2, tmp2
> call bar

Yes, this is exactly what expand_call does.


r~



More information about the Gcc mailing list