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.