commit a6ef2279c71a4528c5bfebf1b857a6faf554a160
parent 64e5dd3421dade2ead540572fc0d945ade1f02bb
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date: Wed, 9 Mar 2016 11:03:39 -0500
document more hybrid return
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/doc/abi.txt b/doc/abi.txt
@@ -114,8 +114,10 @@ Legend:
* A struct can be returned in registers in one of three
ways. Either `%rax`, `%rdx` are used, or `%xmm0`,
- `%xmm1`, or finally `%rax`, `%xmm0`. This should be
- clear from the <@Returning> section above.
+ `%xmm1`, or finally `%rax`, `%xmm0`. The last case
+ happens when a struct is returned with one half
+ classified as INTEGER and the other as SSE. This
+ is a consequence of the <@Returning> section above.
* The size of the arguments area of the stack needs to
be computed first, then arguments are packed starting