From: Rémi Duraffort Date: Fri, 11 Nov 2011 14:28:56 +0000 (+0100) Subject: gradfun: define the clobber list X-Git-Tag: 1.3.0-git~100 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=c68a4ce3080bae5f3caf65e95896ad3323f46ef2;p=vlc gradfun: define the clobber list Signed-off-by: Rémi Denis-Courmont --- diff --git a/modules/video_filter/gradfun.h b/modules/video_filter/gradfun.h index 4b30748b51..23b4be38c8 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) {