From 9d90f1ef5c37605a99b6f85479f15bd3624dd605 Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Thu, 19 Aug 2004 10:39:03 +0000 Subject: assembler compilation fix contributes by Andrew Church (closes bug #936086) CVS patchset: 6900 CVS date: 2004/08/19 10:39:03 --- src/post/goom/mmx.h | 16 ++++++++-------- src/post/goom/xmmx.c | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/post/goom/mmx.h b/src/post/goom/mmx.h index 53c1cc5d9..ab9d57d49 100755 --- a/src/post/goom/mmx.h +++ b/src/post/goom/mmx.h @@ -292,7 +292,7 @@ void zoom_filter_xmmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2, mmx_trace.d[1], mmx_trace.d[0]); \ __asm__ __volatile__ (#op " %0, %%" #reg \ : /* nothing */ \ - : "X" (mem)); \ + : "m" (mem)); \ __asm__ __volatile__ ("movq %%" #reg ", %0" \ : "=X" (mmx_trace) \ : /* nothing */ ); \ @@ -312,7 +312,7 @@ void zoom_filter_xmmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2, printf(#mem "=0x%08x%08x) => ", \ mmx_trace.d[1], mmx_trace.d[0]); \ __asm__ __volatile__ (#op " %%" #reg ", %0" \ - : "=X" (mem) \ + : "=m" (mem) \ : /* nothing */ ); \ mmx_trace = (mem); \ printf(#mem "=0x%08x%08x\n", \ @@ -352,8 +352,8 @@ void zoom_filter_xmmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2, __asm__ __volatile__ ("movq %0, %%mm0\n\t" \ #op " %1, %%mm0\n\t" \ "movq %%mm0, %0" \ - : "=X" (memd) \ - : "X" (mems)); \ + : "=m" (memd) \ + : "m" (mems)); \ mmx_trace = (memd); \ printf(#memd "=0x%08x%08x\n", \ mmx_trace.d[1], mmx_trace.d[0]); \ @@ -372,11 +372,11 @@ void zoom_filter_xmmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2, #define mmx_m2r(op, mem, reg) \ __asm__ __volatile__ (#op " %0, %%" #reg \ : /* nothing */ \ - : "X" (mem)) + : "m" (mem)) #define mmx_r2m(op, reg, mem) \ __asm__ __volatile__ (#op " %%" #reg ", %0" \ - : "=X" (mem) \ + : "=m" (mem) \ : /* nothing */ ) #define mmx_r2r(op, regs, regd) \ @@ -386,8 +386,8 @@ void zoom_filter_xmmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2, __asm__ __volatile__ ("movq %0, %%mm0\n\t" \ #op " %1, %%mm0\n\t" \ "movq %%mm0, %0" \ - : "=X" (memd) \ - : "X" (mems)) + : "=m" (memd) \ + : "m" (mems)) #endif diff --git a/src/post/goom/xmmx.c b/src/post/goom/xmmx.c index a5d57b395..ada41066d 100644 --- a/src/post/goom/xmmx.c +++ b/src/post/goom/xmmx.c @@ -128,7 +128,7 @@ void zoom_filter_xmmx (int prevX, int prevY, "andl $15,%%eax\n" "movd (%%ebx,%%eax,4),%%mm3\n" - ::"X"(precalCoef):"eax","ebx"); + ::"g"(precalCoef):"eax","ebx"); /* * extraction des coefficients... -- cgit v1.2.3