This is the mail archive of the
mailing list for the GCC project.
ppc eabi float arguments
- From: Bernhard Schommer <bernhardschommer at gmail dot com>
- To: GCC Development <gcc at gcc dot gnu dot org>
- Date: Tue, 22 Sep 2015 19:39:43 +0200
- Subject: ppc eabi float arguments
- Authentication-results: sourceware.org; auth=none
if been working with the windriver Diab c compiler for 32bit ppc for and
encountered an incompatibly with the eabi version of the gcc 4.83. When
calling functions with more than 8 float arguments the gcc stores the 9th
float argument (and so on) as a float where as the diab compiler stores the
argument as a double using 8 byte.
I checked the EABI document and it seems to support the way the diab
compiler passes the arguments:
"Arguments not otherwise handled above [i.e. not passed in registers]
are passed in the parameter words of the caller=E2=80=99s stack frame. [...=
float, long long (where implemented), and double arguments are
considered to have 8-byte size and alignment, *with float arguments
converted to double representation*. "
Does anyone know the reason why the gcc passes the argument as single float=