From: "Ronald S. Bultje" <rsbul...@gmail.com>

---
 libavcodec/x86/dct32_sse.asm        |    2 --
 libavcodec/x86/dsputil_yasm.asm     |   14 --------------
 libavcodec/x86/fft_mmx.asm          |    6 ------
 libavresample/x86/audio_convert.asm |   10 ----------
 libavresample/x86/audio_mix.asm     |   10 ----------
 libavutil/x86/float_dsp.asm         |   10 ----------
 libavutil/x86/x86inc.asm            |    5 ++++-
 7 files changed, 4 insertions(+), 53 deletions(-)

diff --git a/libavcodec/x86/dct32_sse.asm b/libavcodec/x86/dct32_sse.asm
index e3c8a45..351c88d 100644
--- a/libavcodec/x86/dct32_sse.asm
+++ b/libavcodec/x86/dct32_sse.asm
@@ -278,8 +278,6 @@ cglobal dct32_float_avx, 2,3,8, out, in, tmp
     vperm2f128  m0, m1, m1, 0x31
     vmovaps [outq+96], m1
 
-    vzeroupper
-
     ;    pass 6, no SIMD...
 INIT_XMM
     PASS6_AND_PERMUTE
diff --git a/libavcodec/x86/dsputil_yasm.asm b/libavcodec/x86/dsputil_yasm.asm
index 077f3a0..70a0aa1 100644
--- a/libavcodec/x86/dsputil_yasm.asm
+++ b/libavcodec/x86/dsputil_yasm.asm
@@ -1158,12 +1158,7 @@ ALIGN 16
     add     src1q, 2*mmsize
     sub     lenq,  2*mmsize
     jge     .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse
@@ -1193,12 +1188,7 @@ ALIGN 16
 
     sub     lenq,   2*mmsize
     jge     .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse
@@ -1243,10 +1233,6 @@ cglobal butterflies_float_interleave, 4,4,3, dst, src0, 
src1, len
 %endif
     add       lenq, mmsize
     jl .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%endif
 .end:
     REP_RET
 %endmacro
diff --git a/libavcodec/x86/fft_mmx.asm b/libavcodec/x86/fft_mmx.asm
index 1a430b9..527e215 100644
--- a/libavcodec/x86/fft_mmx.asm
+++ b/libavcodec/x86/fft_mmx.asm
@@ -749,9 +749,6 @@ section .text
 ; The others pass args in registers and don't spill anything.
 cglobal fft_dispatch%2, 2,5,8, z, nbits
     FFT_DISPATCH fullsuffix, nbits
-%if mmsize == 32
-    vzeroupper
-%endif
     RET
 %endmacro ; DECL_FFT
 
@@ -957,9 +954,6 @@ cglobal imdct_half, 3,12,8; FFTContext *s, FFTSample 
*output, const FFTSample *i
 %if ARCH_X86_64 == 0
     add esp, 12
 %endif
-%if mmsize == 32
-    vzeroupper
-%endif
     RET
 %endmacro
 
diff --git a/libavresample/x86/audio_convert.asm 
b/libavresample/x86/audio_convert.asm
index 7b3cc22..244c4d1 100644
--- a/libavresample/x86/audio_convert.asm
+++ b/libavresample/x86/audio_convert.asm
@@ -145,12 +145,7 @@ cglobal conv_s32_to_flt, 3,3,3, dst, src, len
     mova  [dstq+lenq+mmsize], m2
     add     lenq, mmsize*2
     jl .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse2
@@ -218,12 +213,7 @@ cglobal conv_flt_to_s32, 3,3,5, dst, src, len
     mova  [dstq+lenq+3*mmsize], m3
     add     lenq, mmsize*4
     jl .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse2
diff --git a/libavresample/x86/audio_mix.asm b/libavresample/x86/audio_mix.asm
index 58a4ded..dbfaa69 100644
--- a/libavresample/x86/audio_mix.asm
+++ b/libavresample/x86/audio_mix.asm
@@ -51,12 +51,7 @@ cglobal mix_2_to_1_fltp_flt, 3,4,6, src, matrix, len, src1
     add        srcq, mmsize*2
     sub        lend, mmsize*2/4
     jg .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse
@@ -175,12 +170,7 @@ cglobal mix_1_to_2_fltp_flt, 3,5,4, src0, matrix0, len, 
src1, matrix1
     add       src0q, mmsize
     sub        lend, mmsize/4
     jg .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse
diff --git a/libavutil/x86/float_dsp.asm b/libavutil/x86/float_dsp.asm
index 66ef093..c4e0c66 100644
--- a/libavutil/x86/float_dsp.asm
+++ b/libavutil/x86/float_dsp.asm
@@ -40,12 +40,7 @@ ALIGN 16
 
     sub       lenq, 2*mmsize
     jge       .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse
@@ -86,12 +81,7 @@ cglobal vector_fmac_scalar, 4,4,3, dst, src, mul, len
     mova  [dstq+lenq+mmsize], m2
     sub    lenq, 2*mmsize
     jge .loop
-%if mmsize == 32
-    vzeroupper
-    RET
-%else
     REP_RET
-%endif
 %endmacro
 
 INIT_XMM sse
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 42ba97a..4b523e9 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -369,11 +369,14 @@ DECLARE_REG 14, R15, R15D, R15W, R15B, 120
 %macro RET 0
     WIN64_RESTORE_XMM_INTERNAL rsp
     POP_IF_USED 14, 13, 12, 11, 10, 9, 8, 7
+%if mmsize == 32
+    vzeroupper
+%endif
     ret
 %endmacro
 
 %macro REP_RET 0
-    %if regs_used > 7 || xmm_regs_used > 6
+    %if regs_used > 7 || xmm_regs_used > 6 || mmsize == 32
         RET
     %else
         rep ret
-- 
1.7.9.5

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to