lkml.org 
[lkml]   [2003]   [Jun]   [21]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSat, 21 Jun 2003 01:30:25 -0600
FromErik Andersen <>
Subject[PATCH] make x86 math-emu in 2.4.21 compile with gcc 3.3
I'm surprised this hasn't shown up before, but I guess nobody has
tried compiling 2.4.21 for i386 using gcc 3.3 yet.  Currently the
x86 math-emu code does not compile with gcc 3.3 due to some
missing semicolons and quotes.  This patch fixes things up so it
compiles once again.

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--


--- linux-2.4.21-erik/arch/i386/math-emu/poly.h.orig	2003-06-21 01:25:29.000000000 -0600
+++ linux-2.4.21-erik/arch/i386/math-emu/poly.h	2003-06-21 01:24:25.000000000 -0600
@@ -64,9 +64,9 @@
 				      const unsigned long arg2)
 {
   int retval;
-  asm volatile ("mull %2; movl %%edx,%%eax" \
-		:"=a" (retval) \
-		:"0" (arg1), "g" (arg2) \
+  asm volatile ("mull %2; movl %%edx,%%eax;"
+		:"=a" (retval)
+		:"0" (arg1), "g" (arg2)
 		:"dx");
   return retval;
 }
@@ -75,10 +75,10 @@
 /* Add the 12 byte Xsig x2 to Xsig dest, with no checks for overflow. */
 static inline void add_Xsig_Xsig(Xsig *dest, const Xsig *x2)
 {
-  asm volatile ("movl %1,%%edi; movl %2,%%esi;
-                 movl (%%esi),%%eax; addl %%eax,(%%edi);
-                 movl 4(%%esi),%%eax; adcl %%eax,4(%%edi);
-                 movl 8(%%esi),%%eax; adcl %%eax,8(%%edi);"
+  asm volatile ("movl %1,%%edi; movl %2,%%esi;"
+                 "movl (%%esi),%%eax; addl %%eax,(%%edi);"
+                 "movl 4(%%esi),%%eax; adcl %%eax,4(%%edi);"
+                 "movl 8(%%esi),%%eax; adcl %%eax,8(%%edi);"
                  :"=g" (*dest):"g" (dest), "g" (x2)
                  :"ax","si","di");
 }
@@ -90,19 +90,19 @@
    problem, but keep fingers crossed! */
 static inline void add_two_Xsig(Xsig *dest, const Xsig *x2, long int *exp)
 {
-  asm volatile ("movl %2,%%ecx; movl %3,%%esi;
-                 movl (%%esi),%%eax; addl %%eax,(%%ecx);
-                 movl 4(%%esi),%%eax; adcl %%eax,4(%%ecx);
-                 movl 8(%%esi),%%eax; adcl %%eax,8(%%ecx);
-                 jnc 0f;
-		 rcrl 8(%%ecx); rcrl 4(%%ecx); rcrl (%%ecx)
-                 movl %4,%%ecx; incl (%%ecx)
-                 movl $1,%%eax; jmp 1f;
-                 0: xorl %%eax,%%eax;
-                 1:"
+  asm volatile ("movl %2,%%ecx; movl %3,%%esi;"
+                 "movl (%%esi),%%eax; addl %%eax,(%%ecx);"
+                 "movl 4(%%esi),%%eax; adcl %%eax,4(%%ecx);"
+                 "movl 8(%%esi),%%eax; adcl %%eax,8(%%ecx);"
+                 "jnc 0f;"
+		 "rcrl 8(%%ecx); rcrl 4(%%ecx); rcrl (%%ecx);"
+                 "movl %4,%%ecx; incl (%%ecx);"
+                 "movl $1,%%eax; jmp 1f;"
+                 "0: xorl %%eax,%%eax;"
+                 "1:"
 		:"=g" (*exp), "=g" (*dest)
 		:"g" (dest), "g" (x2), "g" (exp)
-		:"cx","si","ax");
+		:"cx","si","ax"); 
 }
 
 
@@ -110,11 +110,11 @@
 /* This is faster in a loop on my 386 than using the "neg" instruction. */
 static inline void negate_Xsig(Xsig *x)
 {
-  asm volatile("movl %1,%%esi; "
-               "xorl %%ecx,%%ecx; "
-               "movl %%ecx,%%eax; subl (%%esi),%%eax; movl %%eax,(%%esi); "
-               "movl %%ecx,%%eax; sbbl 4(%%esi),%%eax; movl %%eax,4(%%esi); "
-               "movl %%ecx,%%eax; sbbl 8(%%esi),%%eax; movl %%eax,8(%%esi); "
+  asm volatile("movl %1,%%esi;"
+               "xorl %%ecx,%%ecx;"
+               "movl %%ecx,%%eax; subl (%%esi),%%eax; movl %%eax,(%%esi);"
+               "movl %%ecx,%%eax; sbbl 4(%%esi),%%eax; movl %%eax,4(%%esi);"
+               "movl %%ecx,%%eax; sbbl 8(%%esi),%%eax; movl %%eax,8(%%esi);"
                :"=g" (*x):"g" (x):"si","ax","cx");
 }
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 12:36    [W:2.236 / U:0.010 seconds]
©2003-2008 Jasper Spaans