diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gst/goom/xmmx.c | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2008-03-31 David Schleef <ds@schleef.org> + + * gst/goom/xmmx.c: Fix constraints on asm code so that it + compiles consistently. Fixes #522278. + 2008-03-27 Tim-Philipp Müller <tim at centricular dot net> Patch by: Brian Cameron <brian.cameron at sun dot com> diff --git a/gst/goom/xmmx.c b/gst/goom/xmmx.c index 1d68ef64..365b4e26 100644 --- a/gst/goom/xmmx.c +++ b/gst/goom/xmmx.c @@ -74,12 +74,12 @@ zoom_filter_xmmx (int prevX, int prevY, * modified = mm0,mm1,mm2 */ - asm volatile ("#1 \n\t movq %[brutS], %%mm0" "#1 \n\t movq %[brutD], %%mm1" "#1 \n\t psubd %%mm0, %%mm1" /* mm1 = D - S */ + asm volatile ("#1 \n\t movq 0(%[brutS]), %%mm0" "#1 \n\t movq 0(%[brutD]), %%mm1" "#1 \n\t psubd %%mm0, %%mm1" /* mm1 = D - S */ "#1 \n\t movq %%mm1, %%mm2" /* mm2 = D - S */ "#1 \n\t pslld $16, %%mm1" "#1 \n\t pmullw %%mm6, %%mm2" "#1 \n\t pmulhuw %%mm6, %%mm1" "#1 \n\t pslld $16, %%mm0" "#1 \n\t paddd %%mm2, %%mm1" /* mm1 = (D - S) * buffratio >> 16 */ "#1 \n\t paddd %%mm1, %%mm0" /* mm0 = S + mm1 */ - "#1 \n\t psrld $16, %%mm0"::[brutS] "g" (brutS[loop]) - ,[brutD] "g" (brutD[loop]) + "#1 \n\t psrld $16, %%mm0"::[brutS] "r" (&brutS[loop]), + [brutD] "r" (&brutD[loop]) ); /* mm0 = S */ /* |