[FFmpeg-devel] [PATCH 10/14] [inline assembly] add xmm clobbers to mpegaudiodsp

frederic.recoules at univ-grenoble-alpes.fr frederic.recoules at univ-grenoble-alpes.fr
Sun Apr 26 22:44:20 EEST 2020


From: Frédéric Recoules <frederic.recoules at orange.fr>

---
 libavcodec/x86/mpegaudiodsp.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/x86/mpegaudiodsp.c b/libavcodec/x86/mpegaudiodsp.c
index f46a5c4f3d..10b9e814d5 100644
--- a/libavcodec/x86/mpegaudiodsp.c
+++ b/libavcodec/x86/mpegaudiodsp.c
@@ -103,6 +103,7 @@ static void apply_window(const float *buf, const float *win1,
             "jl              1b                   \n\t"
             :"+&r"(count)
             :"r"(win1a), "r"(win2a), "r"(bufa), "r"(sum1a), "r"(sum2a)
+	     XMM_CLOBBERS_ONLY("xmm0", "xmm1", "xmm2", "xmm4")
             );
 
 #undef MULT
@@ -137,7 +138,7 @@ static void apply_window_mp3(float *in, float *win, int *unused, float *out,
             "movaps   %%xmm2,  96(%1) \n\t" \
             "movaps   %%xmm3, 112(%1) \n\t"
             ::"r"(in), "r"(in+512)
-            :"memory"
+            :"memory" XMM_CLOBBERS(, "xmm0", "xmm1", "xmm2", "xmm3")
             );
 
     apply_window(in + 16, win     , win + 512, suma, sumc, 16);
@@ -169,7 +170,7 @@ static void apply_window_mp3(float *in, float *win, int *unused, float *out,
 
             :"+&r"(out)
             :"r"(&suma[0]), "r"(&sumb[0]), "r"(&sumc[0]), "r"(&sumd[0])
-            :"memory"
+            :"memory" XMM_CLOBBERS(, "xmm0")
             );
         out += 16*incr;
     } else {
-- 
2.17.1



More information about the ffmpeg-devel mailing list