You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 27, 2025. It is now read-only.
Returning Results
The following list describes where a function’s return value is passed to the caller.
Scalars smaller than 4 bytes (such as char and short) are placed in the low word of GPR3. The register’s high word is undefined.
Scalars 4 bytes in size (such as long, int, and pointers, including array pointers) are placed in GPR3.
Values of type long long are returned in the high word of GPR3 and the low word of GPR4.
Floating-point values are placed in FPR1.
Composite values (such as struct and union) and values larger than 4 bytes are placed at the location pointed to by GPR3. See Passing Arguments for more information.
x86_64 is more complicated, I don't know how to fix it.