gst/goom/xmmx.c: Fix constraints on asm code so that it compiles consistently. Fixes...
authorDavid Schleef <ds@schleef.org>
Mon, 31 Mar 2008 22:06:14 +0000 (22:06 +0000)
committerDavid Schleef <ds@schleef.org>
Mon, 31 Mar 2008 22:06:14 +0000 (22:06 +0000)
Original commit message from CVS:
* gst/goom/xmmx.c: Fix constraints on asm code so that it
compiles consistently.  Fixes #522278.

ChangeLog
gst/goom/xmmx.c

index f29cf13..a9d5019 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
index 1d68ef6..365b4e2 100644 (file)
@@ -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 */
 
     /*