[PATCH] ARM: Lindent GCC helper functions

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Russell King 2005-06-20 16:45:32 +01:00
parent f29481c0e7
commit 3ade2fe0fd
8 changed files with 226 additions and 265 deletions

View File

@ -31,8 +31,7 @@ Boston, MA 02111-1307, USA. */
#include "gcclib.h"
s64
__ashldi3 (s64 u, int b)
s64 __ashldi3(s64 u, int b)
{
DIunion w;
int bm;
@ -44,13 +43,10 @@ __ashldi3 (s64 u, int b)
uu.ll = u;
bm = (sizeof(s32) * BITS_PER_UNIT) - b;
if (bm <= 0)
{
if (bm <= 0) {
w.s.low = 0;
w.s.high = (u32) uu.s.low << -bm;
}
else
{
} else {
u32 carries = (u32) uu.s.low >> bm;
w.s.low = (u32) uu.s.low << b;
w.s.high = ((u32) uu.s.high << b) | carries;
@ -58,4 +54,3 @@ __ashldi3 (s64 u, int b)
return w.ll;
}

View File

@ -31,8 +31,7 @@ Boston, MA 02111-1307, USA. */
#include "gcclib.h"
s64
__ashrdi3 (s64 u, int b)
s64 __ashrdi3(s64 u, int b)
{
DIunion w;
int bm;
@ -44,14 +43,11 @@ __ashrdi3 (s64 u, int b)
uu.ll = u;
bm = (sizeof(s32) * BITS_PER_UNIT) - b;
if (bm <= 0)
{
if (bm <= 0) {
/* w.s.high = 1..1 or 0..0 */
w.s.high = uu.s.high >> (sizeof(s32) * BITS_PER_UNIT - 1);
w.s.low = uu.s.high >> -bm;
}
else
{
} else {
u32 carries = (u32) uu.s.high << bm;
w.s.high = uu.s.high >> b;
w.s.low = ((u32) uu.s.low >> b) | carries;

View File

@ -7,14 +7,16 @@
#define SI_TYPE_SIZE (sizeof(s32) * BITS_PER_UNIT)
#ifdef __ARMEB__
struct DIstruct {s32 high, low;};
struct DIstruct {
s32 high, low;
};
#else
struct DIstruct {s32 low, high;};
struct DIstruct {
s32 low, high;
};
#endif
typedef union
{
typedef union {
struct DIstruct s;
s64 ll;
} DIunion;

View File

@ -31,8 +31,7 @@ Boston, MA 02111-1307, USA. */
#include "gcclib.h"
s64
__lshrdi3 (s64 u, int b)
s64 __lshrdi3(s64 u, int b)
{
DIunion w;
int bm;
@ -44,13 +43,10 @@ __lshrdi3 (s64 u, int b)
uu.ll = u;
bm = (sizeof(s32) * BITS_PER_UNIT) - b;
if (bm <= 0)
{
if (bm <= 0) {
w.s.high = 0;
w.s.low = (u32) uu.s.high >> -bm;
}
else
{
} else {
u32 carries = (u32) uu.s.high << bm;
w.s.high = (u32) uu.s.high >> b;
w.s.low = ((u32) uu.s.low >> b) | carries;
@ -58,4 +54,3 @@ __lshrdi3 (s64 u, int b)
return w.ll;
}

View File

@ -52,21 +52,17 @@ Boston, MA 02111-1307, USA. */
: "r" ((u32) (a)), \
"r" ((u32) (b)));}
#define __umulsidi3(u, v) \
({DIunion __w; \
umul_ppmm (__w.s.high, __w.s.low, u, v); \
__w.ll; })
s64
__muldi3 (s64 u, s64 v)
s64 __muldi3(s64 u, s64 v)
{
DIunion w;
DIunion uu, vv;
uu.ll = u,
vv.ll = v;
uu.ll = u, vv.ll = v;
w.ll = __umulsidi3(uu.s.low, vv.s.low);
w.s.high += ((u32) uu.s.low * (u32) vv.s.high
@ -74,4 +70,3 @@ __muldi3 (s64 u, s64 v)
return w.ll;
}

View File

@ -31,8 +31,7 @@ Boston, MA 02111-1307, USA. */
#include "gcclib.h"
int
__ucmpdi2 (s64 a, s64 b)
int __ucmpdi2(s64 a, s64 b)
{
DIunion au, bu;
@ -48,4 +47,3 @@ __ucmpdi2 (s64 a, s64 b)
return 2;
return 1;
}

View File

@ -32,20 +32,26 @@ Boston, MA 02111-1307, USA. */
#include "gcclib.h"
#include "longlong.h"
static const u8 __clz_tab[] =
{
0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
static const u8 __clz_tab[] = {
0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
};
u64
__udivmoddi4 (u64 n, u64 d, u64 *rp)
u64 __udivmoddi4(u64 n, u64 d, u64 * rp)
{
DIunion ww;
DIunion nn, dd;
@ -62,16 +68,13 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
n0 = nn.s.low;
n1 = nn.s.high;
if (d1 == 0)
{
if (d0 > n1)
{
if (d1 == 0) {
if (d0 > n1) {
/* 0q = nn / 0D */
count_leading_zeros(bm, d0);
if (bm != 0)
{
if (bm != 0) {
/* Normalize, i.e. make the most significant bit of the
denominator set. */
@ -84,9 +87,7 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
q1 = 0;
/* Remainder in n0 >> bm. */
}
else
{
} else {
/* qq = NN / 0d */
if (d0 == 0)
@ -94,8 +95,7 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
count_leading_zeros(bm, d0);
if (bm == 0)
{
if (bm == 0) {
/* From (n1 >= d0) /\ (the most significant bit of d0 is set),
conclude (the most significant bit of n1 is set) /\ (the
leading quotient digit q1 = 1).
@ -105,9 +105,7 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
n1 -= d0;
q1 = 1;
}
else
{
} else {
/* Normalize. */
b = SI_TYPE_SIZE - bm;
@ -127,37 +125,29 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
/* Remainder in n0 >> bm. */
}
if (rp != 0)
{
if (rp != 0) {
rr.s.low = n0 >> bm;
rr.s.high = 0;
*rp = rr.ll;
}
}
else
{
if (d1 > n1)
{
} else {
if (d1 > n1) {
/* 00 = nn / DD */
q0 = 0;
q1 = 0;
/* Remainder in n1n0. */
if (rp != 0)
{
if (rp != 0) {
rr.s.low = n0;
rr.s.high = n1;
*rp = rr.ll;
}
}
else
{
} else {
/* 0q = NN / dd */
count_leading_zeros(bm, d1);
if (bm == 0)
{
if (bm == 0) {
/* From (n1 >= d1) /\ (the most significant bit of d1 is set),
conclude (the most significant bit of n1 is set) /\ (the
quotient digit q0 = 0 or 1).
@ -166,25 +156,20 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
/* The condition on the next line takes advantage of that
n1 >= d1 (true due to program flow). */
if (n1 > d1 || n0 >= d0)
{
if (n1 > d1 || n0 >= d0) {
q0 = 1;
sub_ddmmss(n1, n0, n1, n0, d1, d0);
}
else
} else
q0 = 0;
q1 = 0;
if (rp != 0)
{
if (rp != 0) {
rr.s.low = n0;
rr.s.high = n1;
*rp = rr.ll;
}
}
else
{
} else {
u32 m1, m0;
/* Normalize. */
@ -199,8 +184,7 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
udiv_qrnnd(q0, n1, n2, n1, d1);
umul_ppmm(m1, m0, q0, d0);
if (m1 > n1 || (m1 == n1 && m0 > n0))
{
if (m1 > n1 || (m1 == n1 && m0 > n0)) {
q0--;
sub_ddmmss(m1, m0, m1, m0, d1, d0);
}
@ -208,8 +192,7 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
q1 = 0;
/* Remainder in (n1n0 - m1m0) >> bm. */
if (rp != 0)
{
if (rp != 0) {
sub_ddmmss(n1, n0, n1, n0, m1, m0);
rr.s.low = (n1 << b) | (n0 >> bm);
rr.s.high = n1 >> bm;
@ -224,14 +207,12 @@ __udivmoddi4 (u64 n, u64 d, u64 *rp)
return ww.ll;
}
u64
__udivdi3 (u64 n, u64 d)
u64 __udivdi3(u64 n, u64 d)
{
return __udivmoddi4(n, d, (u64 *) 0);
}
u64
__umoddi3 (u64 u, u64 v)
u64 __umoddi3(u64 u, u64 v)
{
u64 w;
@ -239,4 +220,3 @@ __umoddi3 (u64 u, u64 v)
return w;
}