diff --git a/tests/checkasm/x86/checkasm.asm b/tests/checkasm/x86/checkasm.asm index 41462f1887..e1dde6e60a 100644 --- a/tests/checkasm/x86/checkasm.asm +++ b/tests/checkasm/x86/checkasm.asm @@ -98,7 +98,7 @@ cglobal stack_clobber, 1,2 ; void checkasm_checked_call(void *func, ...) ;----------------------------------------------------------------------------- INIT_XMM -%macro check_call 0-1 +%macro CHECKED_CALL 0-1 cglobal checked_call%1, 2,15,16,max_args*8+8 mov t0, r0 @@ -171,9 +171,8 @@ cglobal checked_call%1, 2,15,16,max_args*8+8 .clobber_ok: %ifnid %1, _emms fstenv [rsp] - mov r9h, [rsp + 8] - add r9h, 1 - jz .emms_ok + cmp word [rsp + 8], 0xffff + je .emms_ok report_fail error_message_emms emms .emms_ok: @@ -201,7 +200,7 @@ cglobal checked_call%1, 2,15,16,max_args*8+8 mov eax, r3 %endmacro -%macro check_call 0-1 +%macro CHECKED_CALL 0-1 ;----------------------------------------------------------------------------- ; void checkasm_checked_call(void *func, ...) ;----------------------------------------------------------------------------- @@ -225,10 +224,9 @@ cglobal checked_call%1, 1,7 report_fail error_message .clobber_ok: %ifnid %1, _emms - fstenv [rsp] - mov r3h, [rsp + 8] - add r3h, 1 - jz .emms_ok + fstenv [esp] + cmp word [esp + 8], 0xffff + je .emms_ok report_fail error_message_emms emms .emms_ok: @@ -241,5 +239,5 @@ cglobal checked_call%1, 1,7 %endif ; ARCH_X86_64 -check_call -check_call _emms +CHECKED_CALL +CHECKED_CALL _emms