translate_sse: Fix generated code argument handling for msabi on x86_64
authorJon TURNEY <jon.turney@dronecode.org.uk>
Thu, 3 Oct 2013 20:15:11 +0000 (21:15 +0100)
committerJon TURNEY <jon.turney@dronecode.org.uk>
Fri, 18 Oct 2013 13:17:15 +0000 (14:17 +0100)
commitcedfd79be205f302a82635354679cd2ecaf3cc57
tree8c73130be302e0eec7a3b75ec7133c00fe03c305
parent72a0f832ecce3d7442964421d9887c518a82cab7
translate_sse: Fix generated code argument handling for msabi on x86_64

translate_sse.c contains code for msabi on x86_64, but it appears to be
untested.

Currently arguments 1 and 2 passed to the generated code are moved as 32-bit
quantities into the registers used by sysvabi, irrespective of the architecture.
Since these may be pointers, they must be moved as 64-bit quantities to avoid
truncation.

Commit f4dd0991719ef3e2606920c5100b372181c60899 disabled tranlate_sse.c on MinGW
x86_64, I don't know if was due to this issue, or a different one...

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/auxiliary/translate/translate_sse.c