Commit c68a4ce3 authored by Rémi Duraffort's avatar Rémi Duraffort Committed by Rémi Denis-Courmont

gradfun: define the clobber list

Signed-off-by: default avatarRémi Denis-Courmont <remi@remlab.net>
parent 209f1ae0
...@@ -78,6 +78,7 @@ static void blur_line_c(uint16_t *dc, uint16_t *buf, uint16_t *buf1, ...@@ -78,6 +78,7 @@ static void blur_line_c(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
} }
#if HAVE_MMX2 #if HAVE_MMX2
VLC_MMX
static void filter_line_mmx2(uint8_t *dst, uint8_t *src, uint16_t *dc, static void filter_line_mmx2(uint8_t *dst, uint8_t *src, uint16_t *dc,
int width, int thresh, const uint16_t *dithers) 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, ...@@ -121,12 +122,13 @@ static void filter_line_mmx2(uint8_t *dst, uint8_t *src, uint16_t *dc,
:"+r"(x) :"+r"(x)
:"r"(dst+width), "r"(src+width), "r"(dc+width/2), :"r"(dst+width), "r"(src+width), "r"(dc+width/2),
"rm"(thresh), "m"(*dithers), "m"(*pw_7f) "rm"(thresh), "m"(*dithers), "m"(*pw_7f)
:"memory" :"mm0", "mm1", "mm2", "mm4", "mm5", "mm6", "memory"
); );
} }
#endif #endif
#if HAVE_SSSE3 #if HAVE_SSSE3
VLC_SSE
static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc, static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
int width, int thresh, const uint16_t *dithers) 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, ...@@ -169,7 +171,7 @@ static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
:"+&r"(x) :"+&r"(x)
:"r"(dst+width), "r"(src+width), "r"(dc+width/2), :"r"(dst+width), "r"(src+width), "r"(dc+width/2),
"rm"(thresh), "m"(*dithers), "m"(*pw_7f) "rm"(thresh), "m"(*dithers), "m"(*pw_7f)
:"memory" :"xmm0", "xmm1", "xmm2", "xmm4", "xmm5", "xmm6", "xmm7", "memory"
); );
} }
#endif // HAVE_SSSE3 #endif // HAVE_SSSE3
...@@ -205,9 +207,10 @@ static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc, ...@@ -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),\
"r"(src+width*2+sstride),\ "r"(src+width*2+sstride),\
"m"(*pw_ff)\ "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, static void blur_line_sse2(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
uint8_t *src, int sstride, int width) uint8_t *src, int sstride, int width)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment