PPC Compiler Problem?
VALETTE Eric
valette at crf.canon.fr
Thu Dec 2 04:56:32 EST 1999
>>>>> "Gary" == Gary Thomas <gdt at linuxppc.org> writes:
Gary> On 01-Dec-99 VALETTE Eric wrote:
>>
>>>>>>> "Alois" == Alois Fertl <alois_fertl at muenchen.europe.mcd.mot.com> writes:
>>
Alois> Given the following lines of C, I'd expect that the 4th argument
Alois> is placed into register 6 and 7. As the assembler listing tells,
Alois> register 6 is omitted and the argument goes into r7/r8.
>>
>> I indeed checked the "PowerPC Processor ABI Supplement" dated September 95
>> (SVR4 PowerPC ABI) and on 3-18 I see :
>>
>> For PowerPC, up to eight words are passed in general purpose registers, loaded
>> sequentially into general purpose registers r3 through r10.
>>
>> It is clear that this breaks the SVR4 ABI... So you can probably open a bug
>> report...
>>
Gary> If you read carefully, on page 3-18 of the SYSV ABI report, for a long long
Gary> argument being placed in register 'gr':
Gary> " if gr is even, set gr to gr+1. Load the lower addressed word into gr and
Gary> the higher addressed word into gr+1."
Gary> Thus, the implementation _is_ correct. long long arguments always occupy
Gary> an odd/even pair of registers.
Where do you see long long in the example???
--
__
/ ` Eric Valette
/-- __ o _. Canon CRF - Communication Dept
(___, / (_(_(__ Rue de la touche lambert
35517 Cesson-Sevigne Cedex
FRANCE
Tel: +33 (0)2 99 87 68 91 Fax: +33 (0)2 99 84 11 30
E-mail: valette at crf.canon.fr http://www.crf.canon.fr
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list