From da6f34516b60aea0ea2e4864976706d11ef2b687 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 15 Jan 2016 17:08:37 +0100 Subject: [PATCH] avcodec/x86/fmtconvert: Add emms to int32_to_float_fmul_array8_sse() this should fix checkasm on x86_64-archlinux-gcc-valgrind Signed-off-by: Michael Niedermayer --- libavcodec/x86/fmtconvert.asm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libavcodec/x86/fmtconvert.asm b/libavcodec/x86/fmtconvert.asm index b4220e21ea..8f62a0a093 100644 --- a/libavcodec/x86/fmtconvert.asm +++ b/libavcodec/x86/fmtconvert.asm @@ -107,7 +107,14 @@ cglobal int32_to_float_fmul_array8, 5, 5, 5, c, dst, src, mul, len add mulq, 4 add lenq, 32 jl .loop - REP_RET +%if notcpuflag(sse2) + ;; cvtpi2ps switches to MMX even if the source is a memory location + ;; possible an error in documentation since every tested CPU disagrees with + ;; that. Use emms anyway since the vast majority of machines will use the + ;; SSE2 variant + emms +%endif + RET %endmacro INIT_XMM sse