Sun WorkShop Compiler C 5.0 User's Guide

Calling Convention Changes

When you pass structures by value and compile the code for SPARC V9, the structure is passed in registers rather than as a pointer to a copy if it is small enough. This can cause problems if you try to pass structures between C code and hand-written assembly code.Floating point parameters work in a similar fashion; some floating point values passed by value are passed in floating point registers.