summaryrefslogtreecommitdiff
path: root/libkern
diff options
context:
space:
mode:
Diffstat (limited to 'libkern')
-rw-r--r--libkern/frexp-arm.c4
-rw-r--r--libkern/frexp-thumb.c4
-rw-r--r--libkern/nan-arm.c18
-rw-r--r--libkern/vlop-arm.s12
-rw-r--r--libkern/vlop-thumb.s12
-rw-r--r--libkern/vlrt-arm.c9
6 files changed, 26 insertions, 33 deletions
diff --git a/libkern/frexp-arm.c b/libkern/frexp-arm.c
index 0acf6ec1..8973a14d 100644
--- a/libkern/frexp-arm.c
+++ b/libkern/frexp-arm.c
@@ -7,10 +7,10 @@
typedef union
{
double d;
- struct /* this is BIGENDIAN */
+ struct
{
- long ms;
long ls;
+ long ms;
};
} Cheat;
diff --git a/libkern/frexp-thumb.c b/libkern/frexp-thumb.c
index 0acf6ec1..8973a14d 100644
--- a/libkern/frexp-thumb.c
+++ b/libkern/frexp-thumb.c
@@ -7,10 +7,10 @@
typedef union
{
double d;
- struct /* this is BIGENDIAN */
+ struct
{
- long ms;
long ls;
+ long ms;
};
} Cheat;
diff --git a/libkern/nan-arm.c b/libkern/nan-arm.c
index f1cfa0b0..2152925a 100644
--- a/libkern/nan-arm.c
+++ b/libkern/nan-arm.c
@@ -13,8 +13,8 @@ NaN(void)
long x[2];
} a;
- a.x[0] = NANEXP;
- a.x[1] = 1;
+ a.x[1] = NANEXP;
+ a.x[0] = 1;
return a.d;
}
@@ -28,7 +28,7 @@ isNaN(double d)
} a;
a.d = d;
- if((a.x[0] & NANMASK) != NANEXP)
+ if((a.x[1] & NANMASK) != NANEXP)
return 0;
return !isInf(d, 0);
}
@@ -42,10 +42,10 @@ Inf(int sign)
long x[2];
} a;
- a.x[0] = NANEXP;
- a.x[1] = 0;
+ a.x[1] = NANEXP;
+ a.x[0] = 0;
if(sign < 0)
- a.x[0] |= NANSIGN;
+ a.x[1] |= NANSIGN;
return a.d;
}
@@ -59,11 +59,11 @@ isInf(double d, int sign)
} a;
a.d = d;
- if(a.x[1] != 0)
+ if(a.x[0] != 0)
return 0;
- if(a.x[0] == NANEXP)
+ if(a.x[1] == NANEXP)
return sign >= 0;
- if(a.x[0] == (NANEXP|NANSIGN))
+ if(a.x[1] == (NANEXP|NANSIGN))
return sign <= 0;
return 0;
}
diff --git a/libkern/vlop-arm.s b/libkern/vlop-arm.s
index d972ac1b..ffe30d11 100644
--- a/libkern/vlop-arm.s
+++ b/libkern/vlop-arm.s
@@ -6,17 +6,17 @@ arg=0
/* replaced use of R10 by R11 because the former can be the data segment base register */
TEXT _mulv(SB), $0
- MOVW 8(FP), R9 /* l0 */
- MOVW 4(FP), R11 /* h0 */
- MOVW 16(FP), R4 /* l1 */
- MOVW 12(FP), R5 /* h1 */
+ MOVW 4(FP), R9 /* l0 */
+ MOVW 8(FP), R11 /* h0 */
+ MOVW 12(FP), R4 /* l1 */
+ MOVW 16(FP), R5 /* h1 */
UMULL(4, 9, 7, 6, 0)
MUL(11, 4, 8, 0)
ADD R8, R7
MUL(9, 5, 8, 0)
ADD R8, R7
- MOVW R6, 4(R(arg))
- MOVW R7, 0(R(arg))
+ MOVW R6, 0(R(arg))
+ MOVW R7, 4(R(arg))
RET
/* multiply, add, and right-shift, yielding a 32-bit result, while
diff --git a/libkern/vlop-thumb.s b/libkern/vlop-thumb.s
index d972ac1b..ffe30d11 100644
--- a/libkern/vlop-thumb.s
+++ b/libkern/vlop-thumb.s
@@ -6,17 +6,17 @@ arg=0
/* replaced use of R10 by R11 because the former can be the data segment base register */
TEXT _mulv(SB), $0
- MOVW 8(FP), R9 /* l0 */
- MOVW 4(FP), R11 /* h0 */
- MOVW 16(FP), R4 /* l1 */
- MOVW 12(FP), R5 /* h1 */
+ MOVW 4(FP), R9 /* l0 */
+ MOVW 8(FP), R11 /* h0 */
+ MOVW 12(FP), R4 /* l1 */
+ MOVW 16(FP), R5 /* h1 */
UMULL(4, 9, 7, 6, 0)
MUL(11, 4, 8, 0)
ADD R8, R7
MUL(9, 5, 8, 0)
ADD R8, R7
- MOVW R6, 4(R(arg))
- MOVW R7, 0(R(arg))
+ MOVW R6, 0(R(arg))
+ MOVW R7, 4(R(arg))
RET
/* multiply, add, and right-shift, yielding a 32-bit result, while
diff --git a/libkern/vlrt-arm.c b/libkern/vlrt-arm.c
index 58cf5591..e4ef727a 100644
--- a/libkern/vlrt-arm.c
+++ b/libkern/vlrt-arm.c
@@ -13,15 +13,8 @@ struct Vlong
{
struct
{
- ulong hi;
ulong lo;
- };
- struct
- {
- ushort hims;
- ushort hils;
- ushort loms;
- ushort lols;
+ ulong hi;
};
};
};