diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:30:11 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:30:11 -0500 |
commit | 3d0d14f983b55a570b976976284df4c434af3223 (patch) | |
tree | 864f11c0ce5ee1e15acdd196018b79d0d0e2685d /arch/x86/math-emu/reg_constant.c | |
parent | a4ec1effce83796209a0258602b0cf50026d86f2 (diff) |
x86: lindent arch/i386/math-emu
lindent these files:
errors lines of code errors/KLOC
arch/x86/math-emu/ 2236 9424 237.2
arch/x86/math-emu/ 128 8706 14.7
no other changes. No code changed:
text data bss dec hex filename
5589802 612739 3833856 10036397 9924ad vmlinux.before
5589802 612739 3833856 10036397 9924ad vmlinux.after
the intent of this patch is to ease the automated tracking of kernel
code quality - it's just much easier for us to maintain it if every file
in arch/x86 is supposed to be clean.
NOTE: it is a known problem of lindent that it causes some style damage
of its own, but it's a safe tool (well, except for the gcc array range
initializers extension), so we did the bulk of the changes via lindent,
and did the manual fixups in a followup patch.
the resulting math-emu code has been tested by Thomas Gleixner on a real
386 DX CPU as well, and it works fine.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/math-emu/reg_constant.c')
-rw-r--r-- | arch/x86/math-emu/reg_constant.c | 73 |
1 files changed, 35 insertions, 38 deletions
diff --git a/arch/x86/math-emu/reg_constant.c b/arch/x86/math-emu/reg_constant.c index a85015801969..04869e64b18e 100644 --- a/arch/x86/math-emu/reg_constant.c +++ b/arch/x86/math-emu/reg_constant.c | |||
@@ -16,29 +16,28 @@ | |||
16 | #include "reg_constant.h" | 16 | #include "reg_constant.h" |
17 | #include "control_w.h" | 17 | #include "control_w.h" |
18 | 18 | ||
19 | |||
20 | #define MAKE_REG(s,e,l,h) { l, h, \ | 19 | #define MAKE_REG(s,e,l,h) { l, h, \ |
21 | ((EXTENDED_Ebias+(e)) | ((SIGN_##s != 0)*0x8000)) } | 20 | ((EXTENDED_Ebias+(e)) | ((SIGN_##s != 0)*0x8000)) } |
22 | 21 | ||
23 | FPU_REG const CONST_1 = MAKE_REG(POS, 0, 0x00000000, 0x80000000); | 22 | FPU_REG const CONST_1 = MAKE_REG(POS, 0, 0x00000000, 0x80000000); |
24 | #if 0 | 23 | #if 0 |
25 | FPU_REG const CONST_2 = MAKE_REG(POS, 1, 0x00000000, 0x80000000); | 24 | FPU_REG const CONST_2 = MAKE_REG(POS, 1, 0x00000000, 0x80000000); |
26 | FPU_REG const CONST_HALF = MAKE_REG(POS, -1, 0x00000000, 0x80000000); | 25 | FPU_REG const CONST_HALF = MAKE_REG(POS, -1, 0x00000000, 0x80000000); |
27 | #endif /* 0 */ | 26 | #endif /* 0 */ |
28 | static FPU_REG const CONST_L2T = MAKE_REG(POS, 1, 0xcd1b8afe, 0xd49a784b); | 27 | static FPU_REG const CONST_L2T = MAKE_REG(POS, 1, 0xcd1b8afe, 0xd49a784b); |
29 | static FPU_REG const CONST_L2E = MAKE_REG(POS, 0, 0x5c17f0bc, 0xb8aa3b29); | 28 | static FPU_REG const CONST_L2E = MAKE_REG(POS, 0, 0x5c17f0bc, 0xb8aa3b29); |
30 | FPU_REG const CONST_PI = MAKE_REG(POS, 1, 0x2168c235, 0xc90fdaa2); | 29 | FPU_REG const CONST_PI = MAKE_REG(POS, 1, 0x2168c235, 0xc90fdaa2); |
31 | FPU_REG const CONST_PI2 = MAKE_REG(POS, 0, 0x2168c235, 0xc90fdaa2); | 30 | FPU_REG const CONST_PI2 = MAKE_REG(POS, 0, 0x2168c235, 0xc90fdaa2); |
32 | FPU_REG const CONST_PI4 = MAKE_REG(POS, -1, 0x2168c235, 0xc90fdaa2); | 31 | FPU_REG const CONST_PI4 = MAKE_REG(POS, -1, 0x2168c235, 0xc90fdaa2); |
33 | static FPU_REG const CONST_LG2 = MAKE_REG(POS, -2, 0xfbcff799, 0x9a209a84); | 32 | static FPU_REG const CONST_LG2 = MAKE_REG(POS, -2, 0xfbcff799, 0x9a209a84); |
34 | static FPU_REG const CONST_LN2 = MAKE_REG(POS, -1, 0xd1cf79ac, 0xb17217f7); | 33 | static FPU_REG const CONST_LN2 = MAKE_REG(POS, -1, 0xd1cf79ac, 0xb17217f7); |
35 | 34 | ||
36 | /* Extra bits to take pi/2 to more than 128 bits precision. */ | 35 | /* Extra bits to take pi/2 to more than 128 bits precision. */ |
37 | FPU_REG const CONST_PI2extra = MAKE_REG(NEG, -66, | 36 | FPU_REG const CONST_PI2extra = MAKE_REG(NEG, -66, |
38 | 0xfc8f8cbb, 0xece675d1); | 37 | 0xfc8f8cbb, 0xece675d1); |
39 | 38 | ||
40 | /* Only the sign (and tag) is used in internal zeroes */ | 39 | /* Only the sign (and tag) is used in internal zeroes */ |
41 | FPU_REG const CONST_Z = MAKE_REG(POS, EXP_UNDER, 0x0, 0x0); | 40 | FPU_REG const CONST_Z = MAKE_REG(POS, EXP_UNDER, 0x0, 0x0); |
42 | 41 | ||
43 | /* Only the sign and significand (and tag) are used in internal NaNs */ | 42 | /* Only the sign and significand (and tag) are used in internal NaNs */ |
44 | /* The 80486 never generates one of these | 43 | /* The 80486 never generates one of these |
@@ -48,24 +47,22 @@ FPU_REG const CONST_SNAN = MAKE_REG(POS, EXP_OVER, 0x00000001, 0x80000000); | |||
48 | FPU_REG const CONST_QNaN = MAKE_REG(NEG, EXP_OVER, 0x00000000, 0xC0000000); | 47 | FPU_REG const CONST_QNaN = MAKE_REG(NEG, EXP_OVER, 0x00000000, 0xC0000000); |
49 | 48 | ||
50 | /* Only the sign (and tag) is used in internal infinities */ | 49 | /* Only the sign (and tag) is used in internal infinities */ |
51 | FPU_REG const CONST_INF = MAKE_REG(POS, EXP_OVER, 0x00000000, 0x80000000); | 50 | FPU_REG const CONST_INF = MAKE_REG(POS, EXP_OVER, 0x00000000, 0x80000000); |
52 | |||
53 | 51 | ||
54 | static void fld_const(FPU_REG const *c, int adj, u_char tag) | 52 | static void fld_const(FPU_REG const *c, int adj, u_char tag) |
55 | { | 53 | { |
56 | FPU_REG *st_new_ptr; | 54 | FPU_REG *st_new_ptr; |
57 | 55 | ||
58 | if ( STACK_OVERFLOW ) | 56 | if (STACK_OVERFLOW) { |
59 | { | 57 | FPU_stack_overflow(); |
60 | FPU_stack_overflow(); | 58 | return; |
61 | return; | 59 | } |
62 | } | 60 | push(); |
63 | push(); | 61 | reg_copy(c, st_new_ptr); |
64 | reg_copy(c, st_new_ptr); | 62 | st_new_ptr->sigl += adj; /* For all our fldxxx constants, we don't need to |
65 | st_new_ptr->sigl += adj; /* For all our fldxxx constants, we don't need to | 63 | borrow or carry. */ |
66 | borrow or carry. */ | 64 | FPU_settag0(tag); |
67 | FPU_settag0(tag); | 65 | clear_C1(); |
68 | clear_C1(); | ||
69 | } | 66 | } |
70 | 67 | ||
71 | /* A fast way to find out whether x is one of RC_DOWN or RC_CHOP | 68 | /* A fast way to find out whether x is one of RC_DOWN or RC_CHOP |
@@ -75,46 +72,46 @@ static void fld_const(FPU_REG const *c, int adj, u_char tag) | |||
75 | 72 | ||
76 | static void fld1(int rc) | 73 | static void fld1(int rc) |
77 | { | 74 | { |
78 | fld_const(&CONST_1, 0, TAG_Valid); | 75 | fld_const(&CONST_1, 0, TAG_Valid); |
79 | } | 76 | } |
80 | 77 | ||
81 | static void fldl2t(int rc) | 78 | static void fldl2t(int rc) |
82 | { | 79 | { |
83 | fld_const(&CONST_L2T, (rc == RC_UP) ? 1 : 0, TAG_Valid); | 80 | fld_const(&CONST_L2T, (rc == RC_UP) ? 1 : 0, TAG_Valid); |
84 | } | 81 | } |
85 | 82 | ||
86 | static void fldl2e(int rc) | 83 | static void fldl2e(int rc) |
87 | { | 84 | { |
88 | fld_const(&CONST_L2E, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); | 85 | fld_const(&CONST_L2E, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); |
89 | } | 86 | } |
90 | 87 | ||
91 | static void fldpi(int rc) | 88 | static void fldpi(int rc) |
92 | { | 89 | { |
93 | fld_const(&CONST_PI, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); | 90 | fld_const(&CONST_PI, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); |
94 | } | 91 | } |
95 | 92 | ||
96 | static void fldlg2(int rc) | 93 | static void fldlg2(int rc) |
97 | { | 94 | { |
98 | fld_const(&CONST_LG2, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); | 95 | fld_const(&CONST_LG2, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); |
99 | } | 96 | } |
100 | 97 | ||
101 | static void fldln2(int rc) | 98 | static void fldln2(int rc) |
102 | { | 99 | { |
103 | fld_const(&CONST_LN2, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); | 100 | fld_const(&CONST_LN2, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid); |
104 | } | 101 | } |
105 | 102 | ||
106 | static void fldz(int rc) | 103 | static void fldz(int rc) |
107 | { | 104 | { |
108 | fld_const(&CONST_Z, 0, TAG_Zero); | 105 | fld_const(&CONST_Z, 0, TAG_Zero); |
109 | } | 106 | } |
110 | 107 | ||
111 | typedef void (*FUNC_RC)(int); | 108 | typedef void (*FUNC_RC) (int); |
112 | 109 | ||
113 | static FUNC_RC constants_table[] = { | 110 | static FUNC_RC constants_table[] = { |
114 | fld1, fldl2t, fldl2e, fldpi, fldlg2, fldln2, fldz, (FUNC_RC)FPU_illegal | 111 | fld1, fldl2t, fldl2e, fldpi, fldlg2, fldln2, fldz, (FUNC_RC) FPU_illegal |
115 | }; | 112 | }; |
116 | 113 | ||
117 | void fconst(void) | 114 | void fconst(void) |
118 | { | 115 | { |
119 | (constants_table[FPU_rm])(control_word & CW_RC); | 116 | (constants_table[FPU_rm]) (control_word & CW_RC); |
120 | } | 117 | } |