summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHenrik Gramner <henrik@gramner.com>2015-08-24 22:53:56 +0200
committerAnton Khirnov <anton@khirnov.net>2015-08-28 09:54:54 +0200
commitc457bdebe7af643b380aa0f6add3cb4335d218dc (patch)
tree1470f08fca3a8f45028ccb088de78297a3d8ffaa /tests
parentb1abd2aaf91be249f24cb74db9c205d9e4ca9da6 (diff)
checkasm: Fix floating point arguments on 64-bit Windows
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'tests')
-rw-r--r--tests/checkasm/x86/checkasm.asm10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/checkasm/x86/checkasm.asm b/tests/checkasm/x86/checkasm.asm
index 4948fc9e26..828352ce32 100644
--- a/tests/checkasm/x86/checkasm.asm
+++ b/tests/checkasm/x86/checkasm.asm
@@ -103,16 +103,20 @@ cglobal checked_call, 2,15,16,max_args*8+8
mov [rsp+(i-6)*8], r9
%assign i i+1
%endrep
-%else
+%else ; WIN64
%assign i 4
%rep max_args-4
mov r9, [rsp+stack_offset+(i+7)*8]
mov [rsp+i*8], r9
%assign i i+1
%endrep
-%endif
-%if WIN64
+ ; Move possible floating-point arguments to the correct registers
+ movq m0, r0
+ movq m1, r1
+ movq m2, r2
+ movq m3, r3
+
%assign i 6
%rep 16-6
mova m %+ i, [x %+ i]