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