alpha complex patch
Richard Henderson
rth@cygnus.com
Thu Aug 12 00:02:00 GMT 1999
The Alpha ABI specifies that complex double and complex float
should be passed as independant arguments. To be somewhat
consistent, I'm treating complex integral types the same.
Getting the correct padding on a complex float that is
allocated to the last fp arg register and on the stack
doesn't seem to be possible with the current knobs. Getting
a complex int promoted to complex long _is_ impossible
with the current knobs.
The code in question is ugly enough that the easiest thing
appears to be to really break up the complex arguments so
that we lay everything out properly.
The rest of the patch concerns what happens when a call
is defined to return a
(concat:CSI (subreg:SI (reg:DI) 0) (subreg:SI (reg:DI) 0))
and so forth.
r~
More information about the Gcc-patches
mailing list