summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2016-06-21 14:00:01 +0300
committerMartin Storsjö <martin@martin.st>2016-06-21 22:09:29 +0300
commitdc7501e524dc3270335749302c7aa449973625f3 (patch)
treebeff91ee1499c86560870380b8d5758c0ae5066a
parentbeb62dac629603eb074a44c44389c230b5caac7c (diff)
checkasm: Issue emms after benchmarking functions
The functions may not clean up properly after using MMX registers. For the normal testing calls, the checkasm_checked_call functions will do the cleanup (and check that functions that should clean up do it as well), but when benchmarking functions that don't clean up, we don't currently properly clean up at all. This causes issues if a benchmarked function is followed by testing of a function that is supposed to not clobber the MMX/FPU state but doesn't touch it at all. Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--tests/checkasm/checkasm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h
index 619ebc78a4..0faf3babc8 100644
--- a/tests/checkasm/checkasm.h
+++ b/tests/checkasm/checkasm.h
@@ -27,6 +27,7 @@
#include "config.h"
#include "libavutil/avstring.h"
#include "libavutil/cpu.h"
+#include "libavutil/internal.h"
#include "libavutil/lfg.h"
#include "libavutil/timer.h"
@@ -161,6 +162,7 @@ void checkasm_checked_call(void *func, ...);
tcount++;\
}\
}\
+ emms_c();\
checkasm_update_bench(tcount, tsum);\
}\
} while (0)