http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56592



--- Comment #2 from Oleg Endo <olegendo at gcc dot gnu.org> 2013-03-17 14:19:55 
UTC ---

Regarding multi-word arguments:



> 'double' values are passed in DR registers, where the high 32 bits are passed

> in FR(n*2) and the low 32 bits in FR(n*2+1) regardless of the endian setting.

> 

> 4D 'float' vectors are passed in FV registers, i.e. FR(n*4), in order to avoid

> reg copies before vector insns (fipr, ftrv).



Multi-word integer values should be passed in little endian word order.  E.g.

'long long' (64 bit) would be passed in r1:r0, where r1 are the high 32 bits

and r0 are the low 32 bits.  This would make it easier to write endian neutral

asm code.

Reply via email to