[vlc-commits] gradfun: define the clobber list

Rémi Duraffort git at videolan.org
Thu Nov 24 21:41:41 CET 2011


vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Fri Nov 11 15:28:56 2011 +0100| [c68a4ce3080bae5f3caf65e95896ad3323f46ef2] | committer: Rémi Denis-Courmont

gradfun: define the clobber list

Signed-off-by: Rémi Denis-Courmont <remi at remlab.net>

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

 modules/video_filter/gradfun.h |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/modules/video_filter/gradfun.h b/modules/video_filter/gradfun.h
index 4b30748..23b4be3 100644
--- a/modules/video_filter/gradfun.h
+++ b/modules/video_filter/gradfun.h
@@ -78,6 +78,7 @@ static void blur_line_c(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
 }
 
 #if HAVE_MMX2
+VLC_MMX
 static void filter_line_mmx2(uint8_t *dst, uint8_t *src, uint16_t *dc,
                              int width, int thresh, const uint16_t *dithers)
 {
@@ -121,12 +122,13 @@ static void filter_line_mmx2(uint8_t *dst, uint8_t *src, uint16_t *dc,
         :"+r"(x)
         :"r"(dst+width), "r"(src+width), "r"(dc+width/2),
          "rm"(thresh), "m"(*dithers), "m"(*pw_7f)
-        :"memory"
+        :"mm0", "mm1", "mm2", "mm4", "mm5", "mm6", "memory"
     );
 }
 #endif
 
 #if HAVE_SSSE3
+VLC_SSE
 static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
                               int width, int thresh, const uint16_t *dithers)
 {
@@ -169,7 +171,7 @@ static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
         :"+&r"(x)
         :"r"(dst+width), "r"(src+width), "r"(dc+width/2),
          "rm"(thresh), "m"(*dithers), "m"(*pw_7f)
-        :"memory"
+        :"xmm0", "xmm1", "xmm2", "xmm4", "xmm5", "xmm6", "xmm7", "memory"
     );
 }
 #endif // HAVE_SSSE3
@@ -205,9 +207,10 @@ static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
          "r"(src+width*2),\
          "r"(src+width*2+sstride),\
          "m"(*pw_ff)\
-        :"memory"\
+        :"xmm0", "xmm1", "xmm2", "xmm3", "xmm7", "memory"\
     );
 
+VLC_SSE
 static void blur_line_sse2(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
                            uint8_t *src, int sstride, int width)
 {



More information about the vlc-commits mailing list