From c457bdebe7af643b380aa0f6add3cb4335d218dc Mon Sep 17 00:00:00 2001 From: Henrik Gramner Date: Mon, 24 Aug 2015 22:53:56 +0200 Subject: checkasm: Fix floating point arguments on 64-bit Windows Signed-off-by: Anton Khirnov --- tests/checkasm/x86/checkasm.asm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'tests') 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] -- cgit v1.2.3