diff options
author | James Almer <jamrial@gmail.com> | 2017-06-01 18:50:49 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-06-14 19:18:56 -0300 |
commit | 37388b119cf814c2af349e7acba32e33ea30c343 (patch) | |
tree | 59b0cfd8e2c39a3f89f8ca68cbbfc710cf90e11b /tests/checkasm/x86 | |
parent | 12245ab1f677074b8ff83e87f76a41aba692ccd6 (diff) | |
download | ffmpeg-37388b119cf814c2af349e7acba32e33ea30c343.tar.gz |
checkasm: add a checkasm_checked_call function that doesn't issue emms
Meant for DSP functions returning a float or double, as they'd fail if emms
is called after every run on x86_32.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'tests/checkasm/x86')
-rw-r--r-- | tests/checkasm/x86/checkasm.asm | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/tests/checkasm/x86/checkasm.asm b/tests/checkasm/x86/checkasm.asm index d12333b308..683aae80e3 100644 --- a/tests/checkasm/x86/checkasm.asm +++ b/tests/checkasm/x86/checkasm.asm @@ -169,15 +169,15 @@ cglobal checked_call%1, 2,15,16,max_args*8+8 jz .clobber_ok report_fail error_message .clobber_ok: -%ifnid %1, _emms +%ifidn %1, _emms + emms +%elifnidn %1, _float fstenv [rsp] cmp word [rsp + 8], 0xffff je .emms_ok report_fail error_message_emms emms .emms_ok: -%else - emms %endif RET %endmacro @@ -223,15 +223,15 @@ cglobal checked_call%1, 1,7 jz .clobber_ok report_fail error_message .clobber_ok: -%ifnid %1, _emms +%ifidn %1, _emms + emms +%elifnidn %1, _float fstenv [esp] cmp word [esp + 8], 0xffff je .emms_ok report_fail error_message_emms emms .emms_ok: -%else - emms %endif add esp, max_args*4 REP_RET @@ -241,3 +241,4 @@ cglobal checked_call%1, 1,7 CHECKED_CALL CHECKED_CALL _emms +CHECKED_CALL _float |