Hacker News new | ask | show | jobs
by dfawcus 1414 days ago
The MIPS NUBI ABI from 2005 also proposed this for C:

  ftp://ftp.linux-mips.org//pub/linux/mips/doc/NUBI/MD00438-2C-NUBIDESC-SPC-00.20.pdf
Section 3.4, page 21:

"Arguments: [...]

Derived types (structures etc) and non-standard scalar types are passed in a register if and only if their memory- stored image is register-size aligned and fits into a register. [...]

All other arguments are passed by reference. The callee must copy the argument if it writes it or takes its address."