diff options
Diffstat (limited to 'libxine/libxine-1.0.0-rc5/cpu.patch')
-rw-r--r-- | libxine/libxine-1.0.0-rc5/cpu.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/libxine/libxine-1.0.0-rc5/cpu.patch b/libxine/libxine-1.0.0-rc5/cpu.patch index e69de29bb2..a2444d9ed3 100644 --- a/libxine/libxine-1.0.0-rc5/cpu.patch +++ b/libxine/libxine-1.0.0-rc5/cpu.patch @@ -0,0 +1,75 @@ +For those x86 folks - ebx is used by PIC and shouldn't be used by +anyone else + +--- xine-lib-1-rc5/src/post/goom/zoom_filter_xmmx.c 2003-09-15 15:53:53.000000000 -0700 ++++ xine-lib-1-rc5.new/src/post/goom/zoom_filter_xmmx.c 2004-06-29 15:25:45.763268896 -0700 +@@ -108,23 +108,23 @@ + * post : mm3 & mm4 : coefs for this position + * mm1 : X vector [0|X] + * +- * modif : eax,ebx ++ * modif : eax,ecx + */ + __asm__ __volatile__ ( +- "movd %%mm0,%%ebx\n" ++ "movd %%mm0,%%ecx\n" + "movq %%mm0,%%mm1\n" + +- "andl $15,%%ebx\n" ++ "andl $15,%%ecx\n" + "psrlq $32,%%mm1\n" + +- "shll $6,%%ebx\n" ++ "shll $6,%%ecx\n" + "movd %%mm1,%%eax\n" + +- "addl %0,%%ebx\n" ++ "addl %0,%%ecx\n" + "andl $15,%%eax\n" + +- "movd (%%ebx,%%eax,4),%%mm3\n" +- ::"X"(precalCoef):"eax","ebx"); ++ "movd (%%ecx,%%eax,4),%%mm3\n" ++ ::"X"(precalCoef):"eax","ecx"); + + /* + * extraction des coefficients... +@@ -152,7 +152,7 @@ + * post : mm0 : expix1[position] + * mm2 : expix1[position+largeur] + * +- * modif : eax,ebx ++ * modif : eax,ecx + */ + psrld_i2r (PERTEDEC,mm0); + psrld_i2r (PERTEDEC,mm1); +@@ -161,23 +161,23 @@ + /*^*/ "movq %%mm3,%%mm5\n" /*^*/ + + "mull %1\n" +- "movd %%mm0,%%ebx\n" ++ "movd %%mm0,%%ecx\n" + /*^*/ "punpcklbw %%mm5, %%mm3\n" /*^*/ + +- "addl %%ebx,%%eax\n" ++ "addl %%ecx,%%eax\n" + /*^*/ "movq %%mm3,%%mm4\n" /*^*/ + /*^*/ "movq %%mm3,%%mm5\n" /*^*/ + +- "movl %0,%%ebx\n" ++ "movl %0,%%ecx\n" + /*^*/ "punpcklbw %%mm5,%%mm3\n" /*^*/ + +- "movq (%%ebx,%%eax,4),%%mm0\n" ++ "movq (%%ecx,%%eax,4),%%mm0\n" + /*^*/ "punpckhbw %%mm5,%%mm4\n" /*^*/ + + "addl %1,%%eax\n" +- "movq (%%ebx,%%eax,4),%%mm2\n" ++ "movq (%%ecx,%%eax,4),%%mm2\n" + +- : : "X"(expix1), "X"(prevX):"eax","ebx" ++ : : "X"(expix1), "X"(prevX):"eax","ecx" + ); + + /* |