[parisc-linux] floating point calling convention on pa
John David Anglin
dave@hiauly1.hia.nrc.ca
Sun, 20 Apr 2003 12:20:12 -0400 (EDT)
> I thought I understood it, but this one baffles me:
>
> static int floating(int a, float b, double c, long double d, int e)
>
> i would have guessed this mapped to:
>
> a -> gr26 (sp-36)
> b -> fr4L (sp-40)
> c -> fr7 (sp-48)
> d -> sp-56
> e -> sp-64
>
> but according to gcc, e is at sp-60.
int arguments only need word alignment. 'd' occupies bytes sp-56 to sp-49.
A long double is the same as a double (64-bits) on hppa-linux. I'd hoped
that HP would make their quad library available but so far it hasn't
happened. As far as I know, quad precision has never been implemented
in hardware.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)