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: 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)


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