tag | line | file | source code |
st0_ptr | 127 | drivers/FPU-emu/fpu_aux.c | register FPU_REG *sti_ptr = &st(FPU_rm), *st0_ptr = &st(0); |
st0_ptr | 129 | drivers/FPU-emu/fpu_aux.c | if ( st0_ptr->tag == TW_Empty ) |
st0_ptr | 138 | drivers/FPU-emu/fpu_aux.c | reg_move(sti_ptr, st0_ptr); /* Masked response */ |
st0_ptr | 145 | drivers/FPU-emu/fpu_aux.c | reg_move(st0_ptr, sti_ptr); /* Masked response */ |
st0_ptr | 150 | drivers/FPU-emu/fpu_aux.c | reg_move(st0_ptr, &t); |
st0_ptr | 151 | drivers/FPU-emu/fpu_aux.c | reg_move(sti_ptr, st0_ptr); |
st0_ptr | 104 | drivers/FPU-emu/fpu_emu.h | typedef void (*FUNC_ST0)(FPU_REG *st0_ptr); |
st0_ptr | 145 | drivers/FPU-emu/fpu_entry.c | FPU_REG *st0_ptr; |
st0_ptr | 343 | drivers/FPU-emu/fpu_entry.c | st0_ptr = &st(0); |
st0_ptr | 344 | drivers/FPU-emu/fpu_entry.c | st0_tag = st0_ptr->tag; |
st0_ptr | 402 | drivers/FPU-emu/fpu_entry.c | real_2op_NaN(&loaded_data, st0_ptr, |
st0_ptr | 403 | drivers/FPU-emu/fpu_entry.c | st0_ptr); |
st0_ptr | 407 | drivers/FPU-emu/fpu_entry.c | real_2op_NaN(st0_ptr, &loaded_data, |
st0_ptr | 408 | drivers/FPU-emu/fpu_entry.c | st0_ptr); |
st0_ptr | 423 | drivers/FPU-emu/fpu_entry.c | st0_ptr) ) |
st0_ptr | 441 | drivers/FPU-emu/fpu_entry.c | reg_add(st0_ptr, &loaded_data, st0_ptr, |
st0_ptr | 446 | drivers/FPU-emu/fpu_entry.c | reg_mul(st0_ptr, &loaded_data, st0_ptr, |
st0_ptr | 458 | drivers/FPU-emu/fpu_entry.c | reg_sub(st0_ptr, &loaded_data, st0_ptr, |
st0_ptr | 463 | drivers/FPU-emu/fpu_entry.c | reg_sub(&loaded_data, st0_ptr, st0_ptr, |
st0_ptr | 468 | drivers/FPU-emu/fpu_entry.c | reg_div(st0_ptr, &loaded_data, st0_ptr, |
st0_ptr | 476 | drivers/FPU-emu/fpu_entry.c | reg_div(&loaded_data, st0_ptr, st0_ptr, |
st0_ptr | 520 | drivers/FPU-emu/fpu_entry.c | st0_ptr = &st(0); |
st0_ptr | 521 | drivers/FPU-emu/fpu_entry.c | st0_tag = st0_ptr->tag; |
st0_ptr | 20 | drivers/FPU-emu/fpu_etc.c | static void fchs(FPU_REG *st0_ptr) |
st0_ptr | 22 | drivers/FPU-emu/fpu_etc.c | if ( st0_ptr->tag ^ TW_Empty ) |
st0_ptr | 24 | drivers/FPU-emu/fpu_etc.c | st0_ptr->sign ^= SIGN_POS^SIGN_NEG; |
st0_ptr | 31 | drivers/FPU-emu/fpu_etc.c | static void fabs(FPU_REG *st0_ptr) |
st0_ptr | 33 | drivers/FPU-emu/fpu_etc.c | if ( st0_ptr->tag ^ TW_Empty ) |
st0_ptr | 35 | drivers/FPU-emu/fpu_etc.c | st0_ptr->sign = SIGN_POS; |
st0_ptr | 43 | drivers/FPU-emu/fpu_etc.c | static void ftst_(FPU_REG *st0_ptr) |
st0_ptr | 45 | drivers/FPU-emu/fpu_etc.c | switch (st0_ptr->tag) |
st0_ptr | 51 | drivers/FPU-emu/fpu_etc.c | if (st0_ptr->sign == SIGN_POS) |
st0_ptr | 57 | drivers/FPU-emu/fpu_etc.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 61 | drivers/FPU-emu/fpu_etc.c | if (st0_ptr->sign == SIGN_POS) |
st0_ptr | 74 | drivers/FPU-emu/fpu_etc.c | if (st0_ptr->sign == SIGN_POS) |
st0_ptr | 90 | drivers/FPU-emu/fpu_etc.c | static void fxam(FPU_REG *st0_ptr) |
st0_ptr | 93 | drivers/FPU-emu/fpu_etc.c | switch (st0_ptr->tag) |
st0_ptr | 103 | drivers/FPU-emu/fpu_etc.c | if ( st0_ptr->exp <= EXP_UNDER ) |
st0_ptr | 115 | drivers/FPU-emu/fpu_etc.c | if (st0_ptr->sign == SIGN_NEG) |
st0_ptr | 121 | drivers/FPU-emu/fpu_proto.h | extern int reg_store_extended(long double *d, FPU_REG *st0_ptr); |
st0_ptr | 122 | drivers/FPU-emu/fpu_proto.h | extern int reg_store_double(double *dfloat, FPU_REG *st0_ptr); |
st0_ptr | 123 | drivers/FPU-emu/fpu_proto.h | extern int reg_store_single(float *single, FPU_REG *st0_ptr); |
st0_ptr | 124 | drivers/FPU-emu/fpu_proto.h | extern int reg_store_int64(long long *d, FPU_REG *st0_ptr); |
st0_ptr | 125 | drivers/FPU-emu/fpu_proto.h | extern int reg_store_int32(long *d, FPU_REG *st0_ptr); |
st0_ptr | 126 | drivers/FPU-emu/fpu_proto.h | extern int reg_store_int16(short *d, FPU_REG *st0_ptr); |
st0_ptr | 127 | drivers/FPU-emu/fpu_proto.h | extern int reg_store_bcd(char *d, FPU_REG *st0_ptr); |
st0_ptr | 172 | drivers/FPU-emu/fpu_trig.c | static void single_arg_error(FPU_REG *st0_ptr) |
st0_ptr | 174 | drivers/FPU-emu/fpu_trig.c | switch ( st0_ptr->tag ) |
st0_ptr | 177 | drivers/FPU-emu/fpu_trig.c | if ( !(st0_ptr->sigh & 0x40000000) ) /* Signaling ? */ |
st0_ptr | 181 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sigh |= 0x40000000; /* Convert to a QNaN */ |
st0_ptr | 195 | drivers/FPU-emu/fpu_trig.c | static void single_arg_2_error(FPU_REG *st0_ptr) |
st0_ptr | 199 | drivers/FPU-emu/fpu_trig.c | switch ( st0_ptr->tag ) |
st0_ptr | 202 | drivers/FPU-emu/fpu_trig.c | if ( !(st0_ptr->sigh & 0x40000000) ) /* Signaling ? */ |
st0_ptr | 209 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sigh |= 0x40000000; |
st0_ptr | 233 | drivers/FPU-emu/fpu_trig.c | static void f2xm1(FPU_REG *st0_ptr) |
st0_ptr | 236 | drivers/FPU-emu/fpu_trig.c | switch ( st0_ptr->tag ) |
st0_ptr | 240 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp >= 0 ) |
st0_ptr | 245 | drivers/FPU-emu/fpu_trig.c | else if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 251 | drivers/FPU-emu/fpu_trig.c | poly_2xm1(st0_ptr, st0_ptr); |
st0_ptr | 253 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp <= EXP_UNDER ) |
st0_ptr | 258 | drivers/FPU-emu/fpu_trig.c | arith_underflow(st0_ptr); |
st0_ptr | 266 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_NEG ) |
st0_ptr | 269 | drivers/FPU-emu/fpu_trig.c | reg_move(&CONST_1, st0_ptr); |
st0_ptr | 270 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = SIGN_NEG; |
st0_ptr | 274 | drivers/FPU-emu/fpu_trig.c | single_arg_error(st0_ptr); |
st0_ptr | 279 | drivers/FPU-emu/fpu_trig.c | static void fptan(FPU_REG *st0_ptr) |
st0_ptr | 281 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 284 | drivers/FPU-emu/fpu_trig.c | char arg_sign = st0_ptr->sign; |
st0_ptr | 305 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp > EXP_BIAS - 40 ) |
st0_ptr | 307 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = SIGN_POS; |
st0_ptr | 308 | drivers/FPU-emu/fpu_trig.c | if ( (q = trig_arg(st0_ptr, 0)) != -1 ) |
st0_ptr | 310 | drivers/FPU-emu/fpu_trig.c | poly_tan(st0_ptr, st0_ptr); |
st0_ptr | 311 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = (q & 1) ^ arg_sign; |
st0_ptr | 316 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = arg_sign; /* restore st(0) */ |
st0_ptr | 326 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp <= EXP_UNDER ) |
st0_ptr | 335 | drivers/FPU-emu/fpu_trig.c | if ( arith_underflow(st0_ptr) ) |
st0_ptr | 346 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); |
st0_ptr | 360 | drivers/FPU-emu/fpu_trig.c | single_arg_2_error(st0_ptr); |
st0_ptr | 366 | drivers/FPU-emu/fpu_trig.c | static void fxtract(FPU_REG *st0_ptr) |
st0_ptr | 368 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 370 | drivers/FPU-emu/fpu_trig.c | register FPU_REG *st1_ptr = st0_ptr; /* anticipate */ |
st0_ptr | 380 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 393 | drivers/FPU-emu/fpu_trig.c | char sign = st0_ptr->sign; |
st0_ptr | 394 | drivers/FPU-emu/fpu_trig.c | if ( divide_by_zero(SIGN_NEG, st0_ptr) ) |
st0_ptr | 403 | drivers/FPU-emu/fpu_trig.c | char sign = st0_ptr->sign; |
st0_ptr | 404 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = SIGN_POS; |
st0_ptr | 412 | drivers/FPU-emu/fpu_trig.c | if ( real_2op_NaN(st0_ptr, st0_ptr, st0_ptr) ) |
st0_ptr | 437 | drivers/FPU-emu/fpu_trig.c | static void fdecstp(FPU_REG *st0_ptr) |
st0_ptr | 443 | drivers/FPU-emu/fpu_trig.c | static void fincstp(FPU_REG *st0_ptr) |
st0_ptr | 450 | drivers/FPU-emu/fpu_trig.c | static void fsqrt_(FPU_REG *st0_ptr) |
st0_ptr | 452 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 459 | drivers/FPU-emu/fpu_trig.c | if (st0_ptr->sign == SIGN_NEG) |
st0_ptr | 461 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); /* sqrt(negative) is invalid */ |
st0_ptr | 466 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 470 | drivers/FPU-emu/fpu_trig.c | expon = st0_ptr->exp - EXP_BIAS; |
st0_ptr | 471 | drivers/FPU-emu/fpu_trig.c | st0_ptr->exp = EXP_BIAS + (expon & 1); /* make st(0) in [1.0 .. 4.0) */ |
st0_ptr | 473 | drivers/FPU-emu/fpu_trig.c | wm_sqrt(st0_ptr, control_word); /* Do the computation */ |
st0_ptr | 475 | drivers/FPU-emu/fpu_trig.c | st0_ptr->exp += expon >> 1; |
st0_ptr | 476 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = SIGN_POS; |
st0_ptr | 482 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_NEG ) |
st0_ptr | 483 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); /* sqrt(-Infinity) is invalid */ |
st0_ptr | 487 | drivers/FPU-emu/fpu_trig.c | { single_arg_error(st0_ptr); return; } |
st0_ptr | 492 | drivers/FPU-emu/fpu_trig.c | static void frndint_(FPU_REG *st0_ptr) |
st0_ptr | 494 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 499 | drivers/FPU-emu/fpu_trig.c | if (st0_ptr->exp > EXP_BIAS+63) |
st0_ptr | 503 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 508 | drivers/FPU-emu/fpu_trig.c | if ( (flags = round_to_int(st0_ptr)) ) |
st0_ptr | 511 | drivers/FPU-emu/fpu_trig.c | st0_ptr->exp = EXP_BIAS + 63; |
st0_ptr | 512 | drivers/FPU-emu/fpu_trig.c | normalize(st0_ptr); |
st0_ptr | 518 | drivers/FPU-emu/fpu_trig.c | single_arg_error(st0_ptr); |
st0_ptr | 522 | drivers/FPU-emu/fpu_trig.c | static void fsin(FPU_REG *st0_ptr) |
st0_ptr | 524 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 525 | drivers/FPU-emu/fpu_trig.c | char arg_sign = st0_ptr->sign; |
st0_ptr | 532 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp > EXP_BIAS - 40 ) |
st0_ptr | 534 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = SIGN_POS; |
st0_ptr | 535 | drivers/FPU-emu/fpu_trig.c | if ( (q = trig_arg(st0_ptr, 0)) != -1 ) |
st0_ptr | 538 | drivers/FPU-emu/fpu_trig.c | poly_sine(st0_ptr, &rv); |
st0_ptr | 543 | drivers/FPU-emu/fpu_trig.c | reg_move(&rv, st0_ptr); |
st0_ptr | 552 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = arg_sign; /* restore st(0) */ |
st0_ptr | 561 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp <= EXP_UNDER ) |
st0_ptr | 570 | drivers/FPU-emu/fpu_trig.c | arith_underflow(st0_ptr); |
st0_ptr | 585 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); |
st0_ptr | 589 | drivers/FPU-emu/fpu_trig.c | single_arg_error(st0_ptr); |
st0_ptr | 674 | drivers/FPU-emu/fpu_trig.c | static void fcos(FPU_REG *st0_ptr) |
st0_ptr | 676 | drivers/FPU-emu/fpu_trig.c | f_cos(st0_ptr); |
st0_ptr | 680 | drivers/FPU-emu/fpu_trig.c | static void fsincos(FPU_REG *st0_ptr) |
st0_ptr | 682 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 704 | drivers/FPU-emu/fpu_trig.c | single_arg_2_error(st0_ptr); |
st0_ptr | 710 | drivers/FPU-emu/fpu_trig.c | if ( !arith_invalid(st0_ptr) ) |
st0_ptr | 719 | drivers/FPU-emu/fpu_trig.c | reg_move(st0_ptr,&arg); |
st0_ptr | 722 | drivers/FPU-emu/fpu_trig.c | fsin(st0_ptr); |
st0_ptr | 763 | drivers/FPU-emu/fpu_trig.c | static void do_fprem(FPU_REG *st0_ptr, int round) |
st0_ptr | 767 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 768 | drivers/FPU-emu/fpu_trig.c | char sign = st0_ptr->sign; |
st0_ptr | 774 | drivers/FPU-emu/fpu_trig.c | int expdif = st0_ptr->exp - st1_ptr->exp; |
st0_ptr | 780 | drivers/FPU-emu/fpu_trig.c | if ( ((st0_ptr->exp <= EXP_UNDER) || |
st0_ptr | 797 | drivers/FPU-emu/fpu_trig.c | reg_div(st0_ptr, st1_ptr, &tmp, PR_64_BITS | RC_CHOP | 0x3f); |
st0_ptr | 805 | drivers/FPU-emu/fpu_trig.c | rem_kernel(significand(st0_ptr), |
st0_ptr | 814 | drivers/FPU-emu/fpu_trig.c | reg_move(st0_ptr, &tmp); |
st0_ptr | 862 | drivers/FPU-emu/fpu_trig.c | reg_move(st0_ptr, &tmp); |
st0_ptr | 872 | drivers/FPU-emu/fpu_trig.c | rem_kernel(significand(st0_ptr), |
st0_ptr | 891 | drivers/FPU-emu/fpu_trig.c | reg_move(&CONST_Z, st0_ptr); |
st0_ptr | 892 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = sign; |
st0_ptr | 906 | drivers/FPU-emu/fpu_trig.c | reg_move(&tmp, st0_ptr); |
st0_ptr | 911 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (st0_ptr->tag != TW_Zero) |
st0_ptr | 913 | drivers/FPU-emu/fpu_trig.c | arith_underflow(st0_ptr); |
st0_ptr | 934 | drivers/FPU-emu/fpu_trig.c | { arith_invalid(st0_ptr); return; } /* fprem(?,0) always invalid */ |
st0_ptr | 942 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); /* fprem(Valid,Zero) is invalid */ |
st0_ptr | 948 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 963 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); /* fprem(Infinity,?) is invalid */ |
st0_ptr | 975 | drivers/FPU-emu/fpu_trig.c | real_2op_NaN(st1_ptr, st0_ptr, st0_ptr); |
st0_ptr | 981 | drivers/FPU-emu/fpu_trig.c | static void fyl2x(FPU_REG *st0_ptr) |
st0_ptr | 983 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 991 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_POS ) |
st0_ptr | 994 | drivers/FPU-emu/fpu_trig.c | if ( ((st0_ptr->exp <= EXP_UNDER) || |
st0_ptr | 999 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->sigh == 0x80000000) && (st0_ptr->sigl == 0) ) |
st0_ptr | 1002 | drivers/FPU-emu/fpu_trig.c | e = st0_ptr->exp - EXP_BIAS; |
st0_ptr | 1022 | drivers/FPU-emu/fpu_trig.c | poly_l2(st0_ptr, st1_ptr, st1_ptr); |
st0_ptr | 1051 | drivers/FPU-emu/fpu_trig.c | if ( !real_2op_NaN(st0_ptr, st1_ptr, st1_ptr) ) |
st0_ptr | 1070 | drivers/FPU-emu/fpu_trig.c | else if ( st0_ptr->tag == TW_Infinity ) |
st0_ptr | 1089 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_NEG ) |
st0_ptr | 1098 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1102 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp < EXP_BIAS ) sign ^= SIGN_NEG^SIGN_POS; |
st0_ptr | 1103 | drivers/FPU-emu/fpu_trig.c | pop(); st0_ptr = &st(0); |
st0_ptr | 1104 | drivers/FPU-emu/fpu_trig.c | reg_move(&CONST_Z, st0_ptr); |
st0_ptr | 1105 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = sign; |
st0_ptr | 1112 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->sign == SIGN_NEG) || (st1_tag == TW_Zero) ) |
st0_ptr | 1128 | drivers/FPU-emu/fpu_trig.c | pop(); st0_ptr = &st(0); |
st0_ptr | 1129 | drivers/FPU-emu/fpu_trig.c | reg_move(&CONST_INF, st0_ptr); |
st0_ptr | 1130 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = sign; |
st0_ptr | 1135 | drivers/FPU-emu/fpu_trig.c | else if ( (st0_tag == TW_Valid) && (st0_ptr->sign == SIGN_POS) ) |
st0_ptr | 1137 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp >= EXP_BIAS ) |
st0_ptr | 1139 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp == EXP_BIAS) && |
st0_ptr | 1140 | drivers/FPU-emu/fpu_trig.c | (st0_ptr->sigh == 0x80000000) && |
st0_ptr | 1141 | drivers/FPU-emu/fpu_trig.c | (st0_ptr->sigl == 0) ) |
st0_ptr | 1157 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1169 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->tag == TW_Zero ) |
st0_ptr | 1191 | drivers/FPU-emu/fpu_trig.c | static void fpatan(FPU_REG *st0_ptr) |
st0_ptr | 1193 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 1201 | drivers/FPU-emu/fpu_trig.c | if ( ((st0_ptr->exp <= EXP_UNDER) || |
st0_ptr | 1206 | drivers/FPU-emu/fpu_trig.c | poly_atan(st0_ptr, st1_ptr, st1_ptr); |
st0_ptr | 1225 | drivers/FPU-emu/fpu_trig.c | if ( !real_2op_NaN(st0_ptr, st1_ptr, st1_ptr) ) |
st0_ptr | 1236 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_POS ) |
st0_ptr | 1251 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_POS ) |
st0_ptr | 1268 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1285 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1290 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_POS ) |
st0_ptr | 1319 | drivers/FPU-emu/fpu_trig.c | static void fprem(FPU_REG *st0_ptr) |
st0_ptr | 1321 | drivers/FPU-emu/fpu_trig.c | do_fprem(st0_ptr, RC_CHOP); |
st0_ptr | 1325 | drivers/FPU-emu/fpu_trig.c | static void fprem1(FPU_REG *st0_ptr) |
st0_ptr | 1327 | drivers/FPU-emu/fpu_trig.c | do_fprem(st0_ptr, RC_RND); |
st0_ptr | 1331 | drivers/FPU-emu/fpu_trig.c | static void fyl2xp1(FPU_REG *st0_ptr) |
st0_ptr | 1333 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag, sign; |
st0_ptr | 1341 | drivers/FPU-emu/fpu_trig.c | if ( ((st0_ptr->exp <= EXP_UNDER) || |
st0_ptr | 1346 | drivers/FPU-emu/fpu_trig.c | if ( poly_l2p1(st0_ptr, st1_ptr, st1_ptr) ) |
st0_ptr | 1384 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign ^= st1_ptr->sign; |
st0_ptr | 1385 | drivers/FPU-emu/fpu_trig.c | reg_move(st0_ptr, st1_ptr); |
st0_ptr | 1396 | drivers/FPU-emu/fpu_trig.c | if ( !real_2op_NaN(st0_ptr, st1_ptr, st1_ptr) ) |
st0_ptr | 1413 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_NEG ) |
st0_ptr | 1415 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->exp >= EXP_BIAS ) |
st0_ptr | 1426 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1433 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1440 | drivers/FPU-emu/fpu_trig.c | if ( st0_ptr->sign == SIGN_NEG ) |
st0_ptr | 1442 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp >= EXP_BIAS) && |
st0_ptr | 1443 | drivers/FPU-emu/fpu_trig.c | !((st0_ptr->sigh == 0x80000000) && |
st0_ptr | 1444 | drivers/FPU-emu/fpu_trig.c | (st0_ptr->sigl == 0)) ) |
st0_ptr | 1455 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1462 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1469 | drivers/FPU-emu/fpu_trig.c | if ( !real_2op_NaN(st0_ptr, st1_ptr, st1_ptr) ) |
st0_ptr | 1476 | drivers/FPU-emu/fpu_trig.c | if ( !real_2op_NaN(st0_ptr, st1_ptr, st1_ptr) ) |
st0_ptr | 1484 | drivers/FPU-emu/fpu_trig.c | if ( !real_2op_NaN(st0_ptr, st1_ptr, st1_ptr) ) |
st0_ptr | 1488 | drivers/FPU-emu/fpu_trig.c | else if ( st0_ptr->sign == SIGN_NEG ) |
st0_ptr | 1544 | drivers/FPU-emu/fpu_trig.c | static void fscale(FPU_REG *st0_ptr) |
st0_ptr | 1546 | drivers/FPU-emu/fpu_trig.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 1550 | drivers/FPU-emu/fpu_trig.c | char sign = st0_ptr->sign; |
st0_ptr | 1559 | drivers/FPU-emu/fpu_trig.c | if ( ((st0_ptr->exp <= EXP_UNDER) || |
st0_ptr | 1572 | drivers/FPU-emu/fpu_trig.c | sign = st0_ptr->sign; |
st0_ptr | 1573 | drivers/FPU-emu/fpu_trig.c | reg_move(&CONST_INF, st0_ptr); |
st0_ptr | 1574 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = sign; |
st0_ptr | 1579 | drivers/FPU-emu/fpu_trig.c | sign = st0_ptr->sign; |
st0_ptr | 1580 | drivers/FPU-emu/fpu_trig.c | reg_move(&CONST_Z, st0_ptr); |
st0_ptr | 1581 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = sign; |
st0_ptr | 1592 | drivers/FPU-emu/fpu_trig.c | scale += st0_ptr->exp; |
st0_ptr | 1593 | drivers/FPU-emu/fpu_trig.c | st0_ptr->exp = scale; |
st0_ptr | 1596 | drivers/FPU-emu/fpu_trig.c | round_reg(st0_ptr, 0, control_word); |
st0_ptr | 1606 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1615 | drivers/FPU-emu/fpu_trig.c | if ( (st0_ptr->exp <= EXP_UNDER) && (denormal_operand()) ) |
st0_ptr | 1620 | drivers/FPU-emu/fpu_trig.c | { reg_move(&CONST_INF, st0_ptr); } |
st0_ptr | 1622 | drivers/FPU-emu/fpu_trig.c | reg_move(&CONST_Z, st0_ptr); |
st0_ptr | 1623 | drivers/FPU-emu/fpu_trig.c | st0_ptr->sign = sign; |
st0_ptr | 1627 | drivers/FPU-emu/fpu_trig.c | { real_2op_NaN(st0_ptr, st1_ptr, st0_ptr); return; } |
st0_ptr | 1648 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); /* Zero scaled by +Infinity */ |
st0_ptr | 1653 | drivers/FPU-emu/fpu_trig.c | { real_2op_NaN(st0_ptr, st1_ptr, st0_ptr); return; } |
st0_ptr | 1672 | drivers/FPU-emu/fpu_trig.c | arith_invalid(st0_ptr); /* Infinity scaled by -Infinity */ |
st0_ptr | 1676 | drivers/FPU-emu/fpu_trig.c | { real_2op_NaN(st0_ptr, st1_ptr, st0_ptr); return; } |
st0_ptr | 1681 | drivers/FPU-emu/fpu_trig.c | { real_2op_NaN(st0_ptr, st1_ptr, st0_ptr); return; } |
st0_ptr | 35 | drivers/FPU-emu/load_store.c | #define pop_0() { st0_ptr->tag = TW_Empty; top++; } |
st0_ptr | 67 | drivers/FPU-emu/load_store.c | FPU_REG *st0_ptr; |
st0_ptr | 69 | drivers/FPU-emu/load_store.c | st0_ptr = NULL; /* Initialized just to stop compiler warnings. */ |
st0_ptr | 94 | drivers/FPU-emu/load_store.c | st0_ptr = &st(0); /* Some of these instructions pop after |
st0_ptr | 99 | drivers/FPU-emu/load_store.c | st0_ptr = &st(-1); |
st0_ptr | 100 | drivers/FPU-emu/load_store.c | if ( st0_ptr->tag != TW_Empty ) |
st0_ptr | 126 | drivers/FPU-emu/load_store.c | reg_move(&loaded_data, st0_ptr); |
st0_ptr | 130 | drivers/FPU-emu/load_store.c | reg_load_int32((long *)data_address, st0_ptr); |
st0_ptr | 141 | drivers/FPU-emu/load_store.c | reg_move(&loaded_data, st0_ptr); |
st0_ptr | 145 | drivers/FPU-emu/load_store.c | reg_load_int16((short *)data_address, st0_ptr); |
st0_ptr | 149 | drivers/FPU-emu/load_store.c | reg_store_single((float *)data_address, st0_ptr); |
st0_ptr | 153 | drivers/FPU-emu/load_store.c | reg_store_int32((long *)data_address, st0_ptr); |
st0_ptr | 157 | drivers/FPU-emu/load_store.c | reg_store_double((double *)data_address, st0_ptr); |
st0_ptr | 161 | drivers/FPU-emu/load_store.c | reg_store_int16((short *)data_address, st0_ptr); |
st0_ptr | 165 | drivers/FPU-emu/load_store.c | if ( reg_store_single((float *)data_address, st0_ptr) ) |
st0_ptr | 171 | drivers/FPU-emu/load_store.c | if ( reg_store_int32((long *)data_address, st0_ptr) ) |
st0_ptr | 177 | drivers/FPU-emu/load_store.c | if ( reg_store_double((double *)data_address, st0_ptr) ) |
st0_ptr | 183 | drivers/FPU-emu/load_store.c | if ( reg_store_int16((short *)data_address, st0_ptr) ) |
st0_ptr | 199 | drivers/FPU-emu/load_store.c | reg_load_bcd((char *)data_address, st0_ptr); |
st0_ptr | 216 | drivers/FPU-emu/load_store.c | reg_load_extended((long double *)data_address, st0_ptr); |
st0_ptr | 220 | drivers/FPU-emu/load_store.c | reg_load_int64((long long *)data_address, st0_ptr); |
st0_ptr | 230 | drivers/FPU-emu/load_store.c | if ( reg_store_bcd((char *)data_address, st0_ptr) ) |
st0_ptr | 242 | drivers/FPU-emu/load_store.c | if ( reg_store_extended((long double *)data_address, st0_ptr) ) |
st0_ptr | 254 | drivers/FPU-emu/load_store.c | if ( reg_store_int64((long long *)data_address, st0_ptr) ) |
st0_ptr | 28 | drivers/FPU-emu/reg_compare.c | FPU_REG *st0_ptr; |
st0_ptr | 30 | drivers/FPU-emu/reg_compare.c | st0_ptr = &st(0); |
st0_ptr | 31 | drivers/FPU-emu/reg_compare.c | st0_tag = st0_ptr->tag; |
st0_ptr | 52 | drivers/FPU-emu/reg_compare.c | return ((st0_ptr->sign == SIGN_POS) ? COMP_A_gt_B |
st0_ptr | 55 | drivers/FPU-emu/reg_compare.c | | ((st0_ptr->exp <= EXP_UNDER ) |
st0_ptr | 66 | drivers/FPU-emu/reg_compare.c | return ((st0_ptr->sign == SIGN_POS) ? COMP_A_gt_B |
st0_ptr | 77 | drivers/FPU-emu/reg_compare.c | return (st0_ptr->sign == b->sign) ? COMP_A_eq_B : |
st0_ptr | 78 | drivers/FPU-emu/reg_compare.c | ((st0_ptr->sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B); |
st0_ptr | 89 | drivers/FPU-emu/reg_compare.c | && (st0_ptr->exp <= EXP_UNDER)) ? |
st0_ptr | 101 | drivers/FPU-emu/reg_compare.c | if ( ((st0_tag == TW_NaN) && !(st0_ptr->sigh & 0x40000000)) |
st0_ptr | 114 | drivers/FPU-emu/reg_compare.c | if (!(st0_ptr->sigh & 0x80000000)) EXCEPTION(EX_Invalid); |
st0_ptr | 119 | drivers/FPU-emu/reg_compare.c | if (st0_ptr->sign != b->sign) |
st0_ptr | 121 | drivers/FPU-emu/reg_compare.c | return ((st0_ptr->sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B) |
st0_ptr | 124 | drivers/FPU-emu/reg_compare.c | ( ((st0_ptr->exp <= EXP_UNDER) || (b->exp <= EXP_UNDER)) ? |
st0_ptr | 130 | drivers/FPU-emu/reg_compare.c | diff = st0_ptr->exp - b->exp; |
st0_ptr | 133 | drivers/FPU-emu/reg_compare.c | diff = st0_ptr->sigh - b->sigh; /* Works only if ms bits are |
st0_ptr | 137 | drivers/FPU-emu/reg_compare.c | diff = st0_ptr->sigl > b->sigl; |
st0_ptr | 139 | drivers/FPU-emu/reg_compare.c | diff = -(st0_ptr->sigl < b->sigl); |
st0_ptr | 145 | drivers/FPU-emu/reg_compare.c | return ((st0_ptr->sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B) |
st0_ptr | 148 | drivers/FPU-emu/reg_compare.c | ( ((st0_ptr->exp <= EXP_UNDER) || (b->exp <= EXP_UNDER)) ? |
st0_ptr | 155 | drivers/FPU-emu/reg_compare.c | return ((st0_ptr->sign == SIGN_POS) ? COMP_A_lt_B : COMP_A_gt_B) |
st0_ptr | 158 | drivers/FPU-emu/reg_compare.c | ( ((st0_ptr->exp <= EXP_UNDER) || (b->exp <= EXP_UNDER)) ? |
st0_ptr | 167 | drivers/FPU-emu/reg_compare.c | ( ((st0_ptr->exp <= EXP_UNDER) || (b->exp <= EXP_UNDER)) ? |
st0_ptr | 423 | drivers/FPU-emu/reg_ld_str.c | int reg_store_extended(long double *d, FPU_REG *st0_ptr) |
st0_ptr | 431 | drivers/FPU-emu/reg_ld_str.c | if ( st0_ptr->tag != TW_Empty ) |
st0_ptr | 436 | drivers/FPU-emu/reg_ld_str.c | write_to_extended(st0_ptr, (char *) d); |
st0_ptr | 461 | drivers/FPU-emu/reg_ld_str.c | int reg_store_double(double *dfloat, FPU_REG *st0_ptr) |
st0_ptr | 465 | drivers/FPU-emu/reg_ld_str.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 472 | drivers/FPU-emu/reg_ld_str.c | reg_move(st0_ptr, &tmp); |
st0_ptr | 483 | drivers/FPU-emu/reg_ld_str.c | if ( st0_ptr->exp <= EXP_UNDER ) |
st0_ptr | 501 | drivers/FPU-emu/reg_ld_str.c | (st0_ptr->sigl & 0x000007ff)) ) |
st0_ptr | 612 | drivers/FPU-emu/reg_ld_str.c | l[0] = (st0_ptr->sigl >> 11) | (st0_ptr->sigh << 21); |
st0_ptr | 613 | drivers/FPU-emu/reg_ld_str.c | l[1] = ((st0_ptr->sigh >> 11) & 0xfffff); |
st0_ptr | 614 | drivers/FPU-emu/reg_ld_str.c | if ( !(st0_ptr->sigh & 0x40000000) ) |
st0_ptr | 642 | drivers/FPU-emu/reg_ld_str.c | if ( st0_ptr->sign ) |
st0_ptr | 656 | drivers/FPU-emu/reg_ld_str.c | int reg_store_single(float *single, FPU_REG *st0_ptr) |
st0_ptr | 660 | drivers/FPU-emu/reg_ld_str.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 667 | drivers/FPU-emu/reg_ld_str.c | reg_move(st0_ptr, &tmp); |
st0_ptr | 678 | drivers/FPU-emu/reg_ld_str.c | if ( st0_ptr->exp <= EXP_UNDER ) |
st0_ptr | 696 | drivers/FPU-emu/reg_ld_str.c | ((st0_ptr->sigh & 0x000000ff) || st0_ptr->sigl)) ) |
st0_ptr | 797 | drivers/FPU-emu/reg_ld_str.c | templ = st0_ptr->sigh >> 8; |
st0_ptr | 798 | drivers/FPU-emu/reg_ld_str.c | if ( !(st0_ptr->sigh & 0x40000000) ) |
st0_ptr | 832 | drivers/FPU-emu/reg_ld_str.c | if (st0_ptr->sign) |
st0_ptr | 845 | drivers/FPU-emu/reg_ld_str.c | int reg_store_int64(long long *d, FPU_REG *st0_ptr) |
st0_ptr | 850 | drivers/FPU-emu/reg_ld_str.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 865 | drivers/FPU-emu/reg_ld_str.c | reg_move(st0_ptr, &t); |
st0_ptr | 904 | drivers/FPU-emu/reg_ld_str.c | int reg_store_int32(long *d, FPU_REG *st0_ptr) |
st0_ptr | 908 | drivers/FPU-emu/reg_ld_str.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 923 | drivers/FPU-emu/reg_ld_str.c | reg_move(st0_ptr, &t); |
st0_ptr | 958 | drivers/FPU-emu/reg_ld_str.c | int reg_store_int16(short *d, FPU_REG *st0_ptr) |
st0_ptr | 962 | drivers/FPU-emu/reg_ld_str.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 977 | drivers/FPU-emu/reg_ld_str.c | reg_move(st0_ptr, &t); |
st0_ptr | 1012 | drivers/FPU-emu/reg_ld_str.c | int reg_store_bcd(char *d, FPU_REG *st0_ptr) |
st0_ptr | 1018 | drivers/FPU-emu/reg_ld_str.c | unsigned char sign = (st0_ptr->sign == SIGN_NEG) ? 0x80 : 0; |
st0_ptr | 1019 | drivers/FPU-emu/reg_ld_str.c | char st0_tag = st0_ptr->tag; |
st0_ptr | 1028 | drivers/FPU-emu/reg_ld_str.c | reg_move(st0_ptr, &t); |