This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 128 bit floats on PA64
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: sje at cup dot hp dot com (Steve Ellcey)
- Cc: gcc-patches at gcc dot gnu dot org, law at redhat dot com, sje at cup dot hp dot com
- Date: Tue, 3 Sep 2002 12:12:43 -0400 (EDT)
- Subject: Re: 128 bit floats on PA64
> Hm, I don't see this failure, but I do have a few other changes in my
> tree that have not been submitted. One of them seems to be affecting
> the calling sequence because I get the following sequence on the call
> to baz:
>
> fldd 32(%r3),%fr5
> fldd 40(%r3),%fr6
> fldd 48(%r3),%fr7
> fldd 56(%r3),%fr8
> ldo -16(%r30),%r29
> b,l baz,%r2
The above is wrong. The ABI specifies that TFmode parameters and
aggregates including complex numbers are always passed in general
registers. I have a fix to function_arg. This exposed another
problem in expr.c in passing TCmode complex values. I am going to
make one final small tweak and submit the patch later today. With
the complete set of patches, there are 3 fixes to the v3 suite, 8
to g77, and 10 or 11 to to gcc suite.
I have also completed checking a patch to remove the CLASS_CANNOT_CHANGE_MODE*
macros from the 32-bit port.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)