Home
last modified time | relevance | path

Searched refs:st0_ptr (Results 1 – 14 of 14) sorted by relevance

/arch/x86/math-emu/
Dfpu_trig.c33 static int trig_arg(FPU_REG *st0_ptr, int even) in trig_arg() argument
41 if (exponent(st0_ptr) >= 63) { in trig_arg()
49 setpositive(st0_ptr); in trig_arg()
50 tag = FPU_u_div(st0_ptr, &CONST_PI2, &tmp, PR_64_BITS | RC_CHOP | 0x3f, in trig_arg()
57 rem_kernel(significand(st0_ptr), in trig_arg()
60 q, exponent(st0_ptr) - exponent(&CONST_PI2)); in trig_arg()
76 if ((exponent(st0_ptr) <= exponent(&CONST_PI2extra) + 64) in trig_arg()
91 if (signnegative(st0_ptr)) { in trig_arg()
96 setpositive(st0_ptr); in trig_arg()
109 && (exponent(st0_ptr) <= exponent(&CONST_PI2extra) + 64)) in trig_arg()
[all …]
Dfpu_etc.c19 static void fchs(FPU_REG *st0_ptr, u_char st0tag) in fchs() argument
22 signbyte(st0_ptr) ^= SIGN_NEG; in fchs()
28 static void fabs(FPU_REG *st0_ptr, u_char st0tag) in fabs() argument
31 setpositive(st0_ptr); in fabs()
37 static void ftst_(FPU_REG *st0_ptr, u_char st0tag) in ftst_() argument
44 if (getsign(st0_ptr) == SIGN_POS) in ftst_()
50 switch (FPU_Special(st0_ptr)) { in ftst_()
52 if (getsign(st0_ptr) == SIGN_POS) in ftst_()
59 if (getsign(st0_ptr) == SIGN_POS) in ftst_()
70 if (getsign(st0_ptr) == SIGN_POS) in ftst_()
[all …]
Dpoly_sin.c57 void poly_sine(FPU_REG *st0_ptr) in poly_sine() argument
65 exponent = exponent(st0_ptr); in poly_sine()
72 || ((exponent == -1) && (st0_ptr->sigh <= 0xe21240aa))) { in poly_sine()
75 argSqrd.msw = st0_ptr->sigh; in poly_sine()
76 argSqrd.midw = st0_ptr->sigl; in poly_sine()
78 mul64_Xsig(&argSqrd, &significand(st0_ptr)); in poly_sine()
96 mul64_Xsig(&accumulator, &significand(st0_ptr)); in poly_sine()
97 mul64_Xsig(&accumulator, &significand(st0_ptr)); in poly_sine()
98 mul64_Xsig(&accumulator, &significand(st0_ptr)); in poly_sine()
104 shr_Xsig(&accumulator, exponent(st0_ptr) - exponent); in poly_sine()
[all …]
Dload_store.c70 FPU_REG *st0_ptr; in FPU_load_store() local
75 st0_ptr = NULL; /* Initialized just to stop compiler warnings. */ in FPU_load_store()
95 st0_ptr = &st(0); /* Some of these instructions pop after in FPU_load_store()
106 st0_ptr = &st(0); in FPU_load_store()
165 (st0_ptr, st0_tag, (long __user *)data_address)) in FPU_load_store()
175 (st0_ptr, st0_tag, (long long __user *)data_address)) in FPU_load_store()
185 (st0_ptr, st0_tag, (short __user *)data_address)) in FPU_load_store()
192 FPU_store_single(st0_ptr, st0_tag, in FPU_load_store()
197 FPU_store_int32(st0_ptr, st0_tag, (long __user *)data_address); in FPU_load_store()
201 FPU_store_double(st0_ptr, st0_tag, in FPU_load_store()
[all …]
Dreg_ld_str.c213 FPU_REG *st0_ptr = &st(0); in FPU_load_int64() local
222 reg_copy(&CONST_Z, st0_ptr); in FPU_load_int64()
233 significand(st0_ptr) = s; in FPU_load_int64()
235 return normalize_no_excep(st0_ptr, 63, sign); in FPU_load_int64()
299 FPU_REG *st0_ptr = &st(0); in FPU_load_bcd() local
324 reg_copy(&CONST_Z, st0_ptr); in FPU_load_bcd()
325 addexponent(st0_ptr, sign); /* Set the sign. */ in FPU_load_bcd()
328 significand(st0_ptr) = l; in FPU_load_bcd()
329 return normalize_no_excep(st0_ptr, 63, sign); in FPU_load_bcd()
336 int FPU_store_extended(FPU_REG *st0_ptr, u_char st0_tag, in FPU_store_extended() argument
[all …]
Dpoly_tan.c50 void poly_tan(FPU_REG *st0_ptr) in poly_tan() argument
58 exponent = exponent(st0_ptr); in poly_tan()
61 if (signnegative(st0_ptr)) { /* Can't hack a number < 0.0 */ in poly_tan()
69 || ((exponent == -1) && (st0_ptr->sigh > 0xc90fdaa2))) { in poly_tan()
73 XSIG_LL(accum) = significand(st0_ptr); in poly_tan()
85 significand(st0_ptr) = 0x8a51e04daabda360LL; in poly_tan()
86 setexponent16(st0_ptr, in poly_tan()
97 XSIG_LL(accum) = XSIG_LL(argSignif) = significand(st0_ptr); in poly_tan()
209 significand(st0_ptr) = XSIG_LL(accum); in poly_tan()
210 setexponent16(st0_ptr, exponent + EXTENDED_Ebias); /* Result is positive. */ in poly_tan()
Dfpu_proto.h97 extern void poly_atan(FPU_REG * st0_ptr, u_char st0_tag, FPU_REG *st1_ptr,
100 extern void poly_l2(FPU_REG *st0_ptr, FPU_REG *st1_ptr, u_char st1_sign);
104 extern void poly_sine(FPU_REG *st0_ptr);
105 extern void poly_cos(FPU_REG *st0_ptr);
107 extern void poly_tan(FPU_REG *st0_ptr);
133 extern int FPU_store_extended(FPU_REG *st0_ptr, u_char st0_tag,
135 extern int FPU_store_double(FPU_REG *st0_ptr, u_char st0_tag,
137 extern int FPU_store_single(FPU_REG *st0_ptr, u_char st0_tag,
139 extern int FPU_store_int64(FPU_REG *st0_ptr, u_char st0_tag,
141 extern int FPU_store_int32(FPU_REG *st0_ptr, u_char st0_tag, long __user *d);
[all …]
Dpoly_atan.c51 void poly_atan(FPU_REG *st0_ptr, u_char st0_tag, in poly_atan() argument
60 sign1 = getsign(st0_ptr); in poly_atan()
63 exponent = exponent(st0_ptr); in poly_atan()
66 FPU_to_exp16(st0_ptr, st0_ptr); in poly_atan()
67 exponent = exponent16(st0_ptr); in poly_atan()
78 ((st0_ptr->sigh < st1_ptr->sigh) || in poly_atan()
79 ((st0_ptr->sigh == st1_ptr->sigh) && in poly_atan()
80 (st0_ptr->sigl < st1_ptr->sigl))))) { in poly_atan()
83 XSIG_LL(Numer) = significand(st0_ptr); in poly_atan()
90 XSIG_LL(Denom) = significand(st0_ptr); in poly_atan()
Dreg_compare.c27 FPU_REG *st0_ptr; in compare() local
31 st0_ptr = &st(0); in compare()
33 st0_sign = getsign(st0_ptr); in compare()
38 st0_tag = FPU_Special(st0_ptr); in compare()
94 (st0_ptr->sigh & 0xc0000000) == 0x80000000; in compare()
95 unsupported = !((exponent(st0_ptr) == EXP_OVER) in compare()
96 && (st0_ptr-> in compare()
122 FPU_to_exp16(st0_ptr, &x); in compare()
124 st0_ptr = &x; in compare()
126 exp0 = exponent16(st0_ptr); in compare()
[all …]
Dreg_divide.c30 FPU_REG const *a, *b, *st0_ptr, *st_ptr; in FPU_div() local
42 st0_ptr = b; in FPU_div()
54 st0_ptr = a; in FPU_div()
133 st0_ptr); in FPU_div()
139 tag = FPU_Special(st0_ptr); in FPU_div()
140 return real_2op_NaN(st0_ptr, tag, rm, in FPU_div()
141 (flags & REV) ? st0_ptr : &st(rm)); in FPU_div()
148 (flags & REV) ? st0_ptr : &st(rm)); in FPU_div()
Dpoly_l2.c26 void poly_l2(FPU_REG *st0_ptr, FPU_REG *st1_ptr, u_char st1_sign) in poly_l2() argument
34 exponent = exponent16(st0_ptr); in poly_l2()
37 if (st0_ptr->sigh > (unsigned)0xb504f334) { in poly_l2()
39 significand(&x) = -significand(st0_ptr); in poly_l2()
45 x.sigh = st0_ptr->sigh - 0x80000000; in poly_l2()
46 x.sigl = st0_ptr->sigl; in poly_l2()
106 FPU_REG * st0_ptr, FPU_REG * st1_ptr, FPU_REG * dest) in poly_l2p1() argument
112 if (exponent16(st0_ptr) < 0) { in poly_l2p1()
113 log2_kernel(st0_ptr, sign0, &accumulator, &exponent); in poly_l2p1()
Dfpu_aux.c134 FPU_REG *st0_ptr = &st(0), *sti_ptr = &st(i); in fxch_i() local
156 FPU_copy_to_regi(st0_ptr, st0_tag, i); in fxch_i()
163 reg_copy(st0_ptr, &t); in fxch_i()
164 reg_copy(sti_ptr, st0_ptr); in fxch_i()
176 FPU_REG *st0_ptr = &st(0); in fcmovCC() local
188 reg_copy(sti_ptr, st0_ptr); in fcmovCC()
Dfpu_entry.c107 FPU_REG *st0_ptr; in math_emulate() local
269 st0_ptr = &st(0); in math_emulate()
320 if (((st0_tag == TAG_Special) && isNaN(st0_ptr)) in math_emulate()
354 st0_ptr); in math_emulate()
387 setsign(st0_ptr, in math_emulate()
476 st0_ptr = &st(0); in math_emulate()
Dfpu_emu.h125 typedef void (*FUNC_ST0) (FPU_REG *st0_ptr, u_char st0_tag);