First four arguments to a function are passed in R0-R3.
The remainder of the arguments are passed on the stack.
- Therefore, functions taking four or fewer arguments avoid the stack, which allows for greater efficiency.
Almost always more efficient to group subsequent args together and pass them together as a
This is from section 5.5 of ARM System Developer’s Guide.
long long /
double use two registers.
The benefit is not on the callee side, but on the caller side where it will have to perform fewer register setups and less register rearrangement.