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