[Bug target/56592] [SH] Add vector ABI
olegendo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Mar 17 14:20:00 GMT 2013
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.
More information about the Gcc-bugs
mailing list