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 kindLocation
8-bit integerW0
16-bit integerW0
32-bit integerW1:W0
64-bit integerW3:W2:W1:W0
32-bit floatW1:W0
64-bit floatW3:W2:W1:W0
structIndirectly through storage pointed to in W0