This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386] Optionally use %xmm0 to return float and/or doublevalues
- From: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Henderson <rth at redhat dot com>, uros at kss-loka dot si, Richard Guenther <richard dot guenther at gmail dot com>
- Date: Tue, 25 Jan 2005 18:44:29 +0100
- Subject: Re: [PATCH, i386] Optionally use %xmm0 to return float and/or doublevalues
- References: <41F6642A.2080009@lu.unisi.ch> <20050125160212.GW10340@devserv.devel.redhat.com>
> 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.
This would surely not be the right thing in the 4.0 timeframe. Also, a
better ABI may also take advantage of regparm, etc., and it would be
much bigger a work. Unlike this hack, that effort would need to
coordinate at least with libc, and I'm not sure if the x86_64 future is
"near enough" that it's worth it.
However, tomorrow (unless Uros beats me to it :-) I'll benchmark povray:
a much simpler patch that only does this for local functions might still
provide a good bang for the buck.
Paolo