]> www.ginac.de Git - cln.git/commitdiff
* src/base/cl_low.h: Add missing linefeeds in SPARC 64 inline assembler.
authorRichard Kreckel <kreckel@ginac.de>
Tue, 9 Oct 2007 22:26:28 +0000 (22:26 +0000)
committerRichard Kreckel <kreckel@ginac.de>
Tue, 9 Oct 2007 22:26:28 +0000 (22:26 +0000)
        * src/base/low/cl_low_div.cc (divu_6464_6464_): Fix a copy-paste typo.
        Reported by Sven Verdoolaege <skimo@kotnet.org>.

ChangeLog
src/base/cl_low.h
src/base/low/cl_low_div.cc

index 8ab639c316dba34672811a51fc2c77ee79bba42d..fb54cb40e58d34723f78032dee72e9a02f4fa46d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-10  Richard B. Kreckel  <kreckel@ginac.de>
+
+       * src/base/cl_low.h: Add missing linefeeds in SPARC 64 inline assembler.
+       * src/base/low/cl_low_div.cc (divu_6464_6464_): Fix a copy-paste typo.
+       Reported by Sven Verdoolaege <skimo@kotnet.org>.
+
 2007-10-02  Richard B. Kreckel  <kreckel@ginac.de>
 
        On popular demand (Debian bug #286266, Ubuntu bug #128851):
index e11f0ad36667db0548fd63ff745158c4bcea3e21..81d7b05af6028db68e3e43120eaf5d5386d424b3 100644 (file)
@@ -439,7 +439,7 @@ inline uint32 mulu32_unchecked (uint32 arg1, uint32 arg2)
       __asm__ __volatile__ (       \
         "wr %%g0,%%g0,%%y\n\t"     \
         "udiv %2,%3,%0\n\t"        \
-        "umul %0,%3,%1"            \
+        "umul %0,%3,%1\n\t"        \
         "sub %2,%1,%1"             \
         : "=&r" (__q), "=&r" (__r) \
         : "r" (__x), "r" (__y));   \
@@ -528,7 +528,7 @@ inline uint32 mulu32_unchecked (uint32 arg1, uint32 arg2)
       __asm__ __volatile__ (       \
         "wr %%g0,%%g0,%%y\n\t"     \
         "udiv %2,%3,%0\n\t"        \
-        "umul %0,%3,%1"            \
+        "umul %0,%3,%1\n\t"        \
         "sub %2,%1,%1"             \
         : "=&r" (__q), "=&r" (__r) \
         : "r" (__x), "r" (__y));   \
@@ -578,7 +578,7 @@ inline uint32 mulu32_unchecked (uint32 arg1, uint32 arg2)
       __asm__ __volatile__ (       \
         "wr %%g0,%%g0,%%y\n\t"     \
         "udiv %2,%3,%0\n\t"        \
-        "umul %0,%3,%1"            \
+        "umul %0,%3,%1\n\t"        \
         "sub %2,%1,%1"             \
         : "=&r" (__q), "=&r" (__r) \
         : "r" (__x), "r" (__y));   \
@@ -690,7 +690,7 @@ inline uint32 mulu32_unchecked (uint32 arg1, uint32 arg2)
       __asm__ __volatile__ (       \
         "wr %2,%%g0,%%y\n\t"       \
         "udiv %3,%4,%0\n\t"        \
-        "umul %0,%4,%1"            \
+        "umul %0,%4,%1\n\t"        \
         "sub %3,%1,%1"             \
         : "=&r" (__q), "=&r" (__r) \
         : "r" (__xhi), "r" (__xlo), "r" (__y)); \
@@ -791,7 +791,7 @@ inline uint32 mulu32_unchecked (uint32 arg1, uint32 arg2)
       __asm__ __volatile__ (          \
         "wr %2,%%g0,%%y\n\t"          \
         "udiv %3,%4,%0\n\t"           \
-        "umul %0,%4,%1"               \
+        "umul %0,%4,%1\n\t"           \
         "sub %3,%1,%1"                \
         : "=&r" (__q), "=&r" (__r)    \
         : "r" (__xhi), "r" (__xlo), "r" (__y)); \
index 41550d62db4839daf24d2b76544a18fafb9ad7fe..b2c75442d37ca63fb44d64dd46e555e45703c596 100644 (file)
@@ -259,9 +259,9 @@ uint64 divu_6464_6464_(uint64 x, uint64 y)
       }
       // q = floor(x1/(y1+1))
       // x-q*y bilden (eine 32-mal-64-Bit-Multiplikation ohne Überlauf):
-      x -= highlow64_0(mulu32_64(q,high32(y))); // q * high32(y) * beta
+      x -= highlow64_0(mulu32_w(q,high32(y))); // q * high32(y) * beta
       // gefahrlos, da q*high32(y) <= q*y/beta <= x/beta < beta
-      x -= mulu32_64(q,low32(y)); // q * low32(y)
+      x -= mulu32_w(q,low32(y)); // q * low32(y)
       // gefahrlos, da q*high32(y)*beta + q*low32(y) = q*y <= x
       // Noch höchstens 2 mal y abziehen:
       if (x >= y)