* src/base/low/cl_low_div.cc (divu_6464_6464_): Fix a copy-paste typo.
Reported by Sven Verdoolaege <skimo@kotnet.org>.
+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):
__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)); \
__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)); \
__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)); \
__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)); \
__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)); \
}
// 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)