/linux/arch/x86/math-emu/ |
A D | fpu_trig.c | 247 poly_2xm1(getsign(st0_ptr), &a, st0_ptr); in f2xm1() 314 FPU_to_exp16(st0_ptr, st0_ptr); in fptan() 495 FPU_to_exp16(st0_ptr, st0_ptr); in fsqrt_() 568 setsign(st0_ptr, getsign(st0_ptr) ^ arg_sign); in f_sin() 594 FPU_to_exp16(st0_ptr, st0_ptr); in f_sin() 1040 FPU_to_exp16(st0_ptr, st0_ptr); in fyl2x() 1043 setexponent16(st0_ptr, exponent(st0_ptr)); in fyl2x() 1136 if (real_2op_NaN(st0_ptr, st0_tag, 1, st0_ptr) < 0) in fyl2x() 1230 if (real_2op_NaN(st0_ptr, st0_tag, 1, st0_ptr) >= 0) in fpatan() 1435 if (real_2op_NaN(st0_ptr, st0_tag, 1, st0_ptr) < 0) in fyl2xp1() [all …]
|
A D | fpu_etc.c | 23 signbyte(st0_ptr) ^= SIGN_NEG; in fchs() 32 setpositive(st0_ptr); in fabs() 45 if (getsign(st0_ptr) == SIGN_POS) in ftst_() 51 switch (FPU_Special(st0_ptr)) { in ftst_() 53 if (getsign(st0_ptr) == SIGN_POS) in ftst_() 60 if (getsign(st0_ptr) == SIGN_POS) in ftst_() 71 if (getsign(st0_ptr) == SIGN_POS) in ftst_() 103 switch (FPU_Special(st0_ptr)) { in fxam() 109 if ((st0_ptr->sigh & 0x80000000) in fxam() 110 && (exponent(st0_ptr) == EXP_OVER)) in fxam() [all …]
|
A D | poly_sin.c | 58 void poly_sine(FPU_REG *st0_ptr) in poly_sine() argument 66 exponent = exponent(st0_ptr); in poly_sine() 76 argSqrd.msw = st0_ptr->sigh; in poly_sine() 77 argSqrd.midw = st0_ptr->sigl; in poly_sine() 117 fixed_arg = significand(st0_ptr); in poly_sine() 201 void poly_cos(FPU_REG *st0_ptr) in poly_cos() argument 209 if ((exponent(st0_ptr) > 0) in poly_cos() 210 || ((exponent(st0_ptr) == 0) in poly_cos() 218 exponent = exponent(st0_ptr); in poly_cos() 226 argSqrd.msw = st0_ptr->sigh; in poly_cos() [all …]
|
A D | load_store.c | 71 FPU_REG *st0_ptr; in FPU_load_store() local 96 st0_ptr = &st(0); /* Some of these instructions pop after in FPU_load_store() 107 st0_ptr = &st(0); in FPU_load_store() 166 (st0_ptr, st0_tag, (long __user *)data_address)) in FPU_load_store() 186 (st0_ptr, st0_tag, (short __user *)data_address)) in FPU_load_store() 193 FPU_store_single(st0_ptr, st0_tag, in FPU_load_store() 202 FPU_store_double(st0_ptr, st0_tag, in FPU_load_store() 212 (st0_ptr, st0_tag, (float __user *)data_address)) in FPU_load_store() 219 (st0_ptr, st0_tag, (long __user *)data_address)) in FPU_load_store() 226 (st0_ptr, st0_tag, (double __user *)data_address)) in FPU_load_store() [all …]
|
A D | reg_ld_str.c | 214 FPU_REG *st0_ptr = &st(0); in FPU_load_int64() local 234 significand(st0_ptr) = s; in FPU_load_int64() 300 FPU_REG *st0_ptr = &st(0); in FPU_load_bcd() local 390 reg_copy(st0_ptr, &tmp); in FPU_store_double() 516 (st0_ptr->sigl >> 11) | (st0_ptr-> in FPU_store_double() 551 if (getsign(st0_ptr)) in FPU_store_double() 741 if (getsign(st0_ptr)) in FPU_store_single() 771 reg_copy(st0_ptr, &t); in FPU_store_int64() 820 reg_copy(st0_ptr, &t); in FPU_store_int32() 866 reg_copy(st0_ptr, &t); in FPU_store_int16() [all …]
|
A D | fpu_proto.h | 98 extern void poly_atan(FPU_REG * st0_ptr, u_char st0_tag, FPU_REG *st1_ptr, 101 extern void poly_l2(FPU_REG *st0_ptr, FPU_REG *st1_ptr, u_char st1_sign); 105 extern void poly_sine(FPU_REG *st0_ptr); 106 extern void poly_cos(FPU_REG *st0_ptr); 108 extern void poly_tan(FPU_REG *st0_ptr); 134 extern int FPU_store_extended(FPU_REG *st0_ptr, u_char st0_tag, 136 extern int FPU_store_double(FPU_REG *st0_ptr, u_char st0_tag, 138 extern int FPU_store_single(FPU_REG *st0_ptr, u_char st0_tag, 140 extern int FPU_store_int64(FPU_REG *st0_ptr, u_char st0_tag, 142 extern int FPU_store_int32(FPU_REG *st0_ptr, u_char st0_tag, long __user *d); [all …]
|
A D | poly_atan.c | 52 void poly_atan(FPU_REG *st0_ptr, u_char st0_tag, in poly_atan() argument 61 sign1 = getsign(st0_ptr); in poly_atan() 64 exponent = exponent(st0_ptr); in poly_atan() 67 FPU_to_exp16(st0_ptr, st0_ptr); in poly_atan() 68 exponent = exponent16(st0_ptr); in poly_atan() 79 ((st0_ptr->sigh < st1_ptr->sigh) || in poly_atan() 80 ((st0_ptr->sigh == st1_ptr->sigh) && in poly_atan() 81 (st0_ptr->sigl < st1_ptr->sigl))))) { in poly_atan() 84 XSIG_LL(Numer) = significand(st0_ptr); in poly_atan() 91 XSIG_LL(Denom) = significand(st0_ptr); in poly_atan()
|
A D | reg_compare.c | 28 FPU_REG *st0_ptr; in compare() local 32 st0_ptr = &st(0); in compare() 34 st0_sign = getsign(st0_ptr); in compare() 39 st0_tag = FPU_Special(st0_ptr); in compare() 97 && (st0_ptr-> in compare() 123 FPU_to_exp16(st0_ptr, &x); in compare() 125 st0_ptr = &x; in compare() 127 exp0 = exponent16(st0_ptr); in compare() 130 exp0 = exponent(st0_ptr); in compare() 135 if (!(st0_ptr->sigh & 0x80000000)) in compare() [all …]
|
A D | poly_tan.c | 51 void poly_tan(FPU_REG *st0_ptr) in poly_tan() argument 59 exponent = exponent(st0_ptr); in poly_tan() 62 if (signnegative(st0_ptr)) { /* Can't hack a number < 0.0 */ in poly_tan() 70 || ((exponent == -1) && (st0_ptr->sigh > 0xc90fdaa2))) { in poly_tan() 74 XSIG_LL(accum) = significand(st0_ptr); in poly_tan() 86 significand(st0_ptr) = 0x8a51e04daabda360LL; in poly_tan() 87 setexponent16(st0_ptr, in poly_tan() 98 XSIG_LL(accum) = XSIG_LL(argSignif) = significand(st0_ptr); in poly_tan() 210 significand(st0_ptr) = XSIG_LL(accum); in poly_tan() 211 setexponent16(st0_ptr, exponent + EXTENDED_Ebias); /* Result is positive. */ in poly_tan()
|
A D | reg_divide.c | 31 FPU_REG const *a, *b, *st0_ptr, *st_ptr; in FPU_div() local 43 st0_ptr = b; in FPU_div() 55 st0_ptr = a; in FPU_div() 134 st0_ptr); in FPU_div() 140 tag = FPU_Special(st0_ptr); in FPU_div() 141 return real_2op_NaN(st0_ptr, tag, rm, in FPU_div() 142 (flags & REV) ? st0_ptr : &st(rm)); in FPU_div() 149 (flags & REV) ? st0_ptr : &st(rm)); in FPU_div()
|
A D | poly_l2.c | 27 void poly_l2(FPU_REG *st0_ptr, FPU_REG *st1_ptr, u_char st1_sign) in poly_l2() argument 35 exponent = exponent16(st0_ptr); in poly_l2() 38 if (st0_ptr->sigh > (unsigned)0xb504f334) { in poly_l2() 40 significand(&x) = -significand(st0_ptr); in poly_l2() 46 x.sigh = st0_ptr->sigh - 0x80000000; in poly_l2() 47 x.sigl = st0_ptr->sigl; in poly_l2() 107 FPU_REG * st0_ptr, FPU_REG * st1_ptr, FPU_REG * dest) in poly_l2p1() argument 113 if (exponent16(st0_ptr) < 0) { in poly_l2p1() 114 log2_kernel(st0_ptr, sign0, &accumulator, &exponent); in poly_l2p1()
|
A D | fpu_aux.c | 135 FPU_REG *st0_ptr = &st(0), *sti_ptr = &st(i); in fxch_i() local 157 FPU_copy_to_regi(st0_ptr, st0_tag, i); in fxch_i() 164 reg_copy(st0_ptr, &t); in fxch_i() 165 reg_copy(sti_ptr, st0_ptr); in fxch_i() 177 FPU_REG *st0_ptr = &st(0); in fcmovCC() local 189 reg_copy(sti_ptr, st0_ptr); in fcmovCC()
|
A D | fpu_entry.c | 108 FPU_REG *st0_ptr; in math_emulate() local 266 st0_ptr = &st(0); in math_emulate() 317 if (((st0_tag == TAG_Special) && isNaN(st0_ptr)) in math_emulate() 351 st0_ptr); in math_emulate() 384 setsign(st0_ptr, in math_emulate() 473 st0_ptr = &st(0); in math_emulate()
|
A D | fpu_emu.h | 126 typedef void (*FUNC_ST0) (FPU_REG *st0_ptr, u_char st0_tag);
|