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, i386] Optionally use %xmm0 to return float and/ordouble values


Jakub Jelinek <jakub@redhat.com> writes:
>
> When you make the new ABI user visible (which I'm not 100% sure
> is the right thing, especially in the 4.0 timeframe), then it should IMHO be a
> full new ABI, that uses not just return value passing in register, but also
> argument passing in registers (at least float, double arguments,
> structs containing just one, two floats/doubles or something similar),
> otherwise we end up with a multitude of different ABIs.

Isn't this the long term goal anyways? 

I would hope at some point the ABI will be dynamically adjusted
for local functions, e.g. so that you don't need to save registers in the
caller that are not clobbered (the impact on the register allocation
of the caller seems to be often the biggest cost for a function call) 
There are probably other optimizations possible too.

I agree that it wouldn't be a good idea to make this all user visible
though.

-Andi


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