summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/x86/fmtconvert.asm9
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/x86/fmtconvert.asm b/libavcodec/x86/fmtconvert.asm
index 03833220a0..2a3e4a5f74 100644
--- a/libavcodec/x86/fmtconvert.asm
+++ b/libavcodec/x86/fmtconvert.asm
@@ -61,7 +61,14 @@ cglobal int32_to_float_fmul_scalar, 4, 4, %1, dst, src, mul, len
mova [dstq+lenq+16], m2
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