14.7.2 Return Value
Function return values are returned in registers whenever possible. All return values are in W registers. The following chart should help decipher where to place, or look for, return values.
| Return kind | Location |
|---|---|
| 8-bit integer | W0 |
| 16-bit integer | W0 |
| 32-bit integer | W1:W0 |
| 64-bit integer | W3:W2:W1:W0 |
| 32-bit float | W1:W0 |
| 64-bit float | W3:W2:W1:W0 |
| struct | Indirectly through storage pointed to in W0 |
