diff options
Diffstat (limited to 'libkern')
| -rw-r--r-- | libkern/frexp-arm.c | 4 | ||||
| -rw-r--r-- | libkern/frexp-thumb.c | 4 | ||||
| -rw-r--r-- | libkern/nan-arm.c | 18 | ||||
| -rw-r--r-- | libkern/vlop-arm.s | 12 | ||||
| -rw-r--r-- | libkern/vlop-thumb.s | 12 | ||||
| -rw-r--r-- | libkern/vlrt-arm.c | 9 |
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; }; }; }; |
