I've had to introduce the XMM1 register to get the calling convention to work properly, unfortunately this has broken a fair bit of code which assumes that only XMM0 is used.
Showing the changes to tests (1 of 3 files). Show all
Unified · Split
| @@ -88,8 +88,8 @@ static int ret_2float_test(void) { · 87 unmodified lines | ||
| 88 | 88 | /* |
| 89 | 89 | * ret_2double_test: |
| 90 | 90 | * |
| 91 | − * On x86-64, a struct with 2 doubles should be packed into a single | |
| 92 | − * SSE register (this tests VT_QFLOAT). | |
| 91 | + * On x86-64, a struct with 2 doubles should be passed in two SSE | |
| 92 | + * registers. | |
| 93 | 93 | */ |
| 94 | 94 | typedef struct ret_2double_test_type_s {double x, y;} ret_2double_test_type; |
| 95 | 95 | typedef ret_2double_test_type (*ret_2double_test_function_type) (ret_2double_test_type); |