[FFmpeg-cvslog] avcodec/x86/fmtconvert: Add emms to int32_to_float_fmul_array8_sse()

Michael Niedermayer git at videolan.org
Fri Jan 15 17:21:26 CET 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Fri Jan 15 17:08:37 2016 +0100| [da6f34516b60aea0ea2e4864976706d11ef2b687] | committer: Michael Niedermayer

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 <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da6f34516b60aea0ea2e4864976706d11ef2b687
---

 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 b4220e2..8f62a0a 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



More information about the ffmpeg-cvslog mailing list