Browse Source

checkasm: x86: post commit review fixes

Check the full FPU tag word instead of only the lower half and simplify
the comparison.
Use upper-case function base name as macro name to instantiate both
checked_call variants.
tags/n3.0
Janne Grunau 9 years ago
parent
commit
f0f54117c8
1 changed files with 9 additions and 11 deletions
  1. +9
    -11
      tests/checkasm/x86/checkasm.asm

+ 9
- 11
tests/checkasm/x86/checkasm.asm View File

@@ -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

Loading…
Cancel
Save