/qemu/target/mips/tcg/ |
H A D | fpu_helper.c | 236 fdt0 = float64_sqrt(fdt0, &env->active_fpu.fp_status); in helper_float_sqrt_d() 243 fst0 = float32_sqrt(fst0, &env->active_fpu.fp_status); in helper_float_sqrt_s() 413 &env->active_fpu.fp_status); in helper_float_round_l_d() 429 &env->active_fpu.fp_status); in helper_float_round_l_s() 445 &env->active_fpu.fp_status); in helper_float_round_w_d() 461 &env->active_fpu.fp_status); in helper_float_round_w_s() 710 &env->active_fpu.fp_status); in helper_float_round_2008_l_d() 728 &env->active_fpu.fp_status); in helper_float_round_2008_l_s() 746 &env->active_fpu.fp_status); in helper_float_round_2008_w_d() 764 &env->active_fpu.fp_status); in helper_float_round_2008_w_s() [all …]
|
/qemu/target/xtensa/ |
H A D | fpu_helper.c | 169 &env->fp_status); in HELPER() 224 &env->fp_status); in HELPER() 231 &env->fp_status); in HELPER() 249 return float64_sqrt(v, &env->fp_status); in HELPER() 255 return float32_sqrt(v, &env->fp_status); in HELPER() 261 float_status fp_status = env->fp_status; in HELPER() local 265 res = float64_to_int32(float64_scalbn(v, scale, &fp_status), &fp_status); in HELPER() 274 float_status fp_status = env->fp_status; in HELPER() local 278 res = float32_to_int32(float32_scalbn(v, scale, &fp_status), &fp_status); in HELPER() 287 float_status fp_status = env->fp_status; in HELPER() local [all …]
|
/qemu/target/loongarch/tcg/ |
H A D | fpu_helper.c | 32 &env->fp_status); in restore_fp_status() 33 set_flush_to_zero(0, &env->fp_status); in restore_fp_status() 98 fd = float64_add(fj, fk, &env->fp_status); in helper_fadd_d() 116 fd = float64_sub(fj, fk, &env->fp_status); in helper_fsub_d() 134 fd = float64_mul(fj, fk, &env->fp_status); in helper_fmul_d() 152 fd = float64_div(fj, fk, &env->fp_status); in helper_fdiv_d() 252 &env->fp_status); in helper_fscaleb_d() 270 fd = float64_sqrt(fj, &env->fp_status); in helper_fsqrt_d() 308 fp = float64_sqrt(fj, &env->fp_status); in helper_frsqrt_d() 318 float_status *status = &env->fp_status; in helper_flogb_s() [all …]
|
/qemu/target/m68k/ |
H A D | fpu_helper.c | 384 a = floatx80_round(val0->d, &env->fp_status); in HELPER() 385 b = floatx80_round(val1->d, &env->fp_status); in HELPER() 387 res->d = floatx80_mul(a, b, &env->fp_status); in HELPER() 417 a = floatx80_round(val1->d, &env->fp_status); in HELPER() 418 b = floatx80_round(val0->d, &env->fp_status); in HELPER() 420 res->d = floatx80_div(a, b, &env->fp_status); in HELPER() 602 &env->fp_status); in HELPER() 618 float_status fp_status = { }; in HELPER() local 625 get_floatx80_rounding_precision(&env->fp_status), &fp_status); in HELPER() 709 res1->d = floatx80_cos(a, &env->fp_status); in HELPER() [all …]
|
/qemu/target/sh4/ |
H A D | op_helper.c | 258 t0 = float32_add(t0, t1, &env->fp_status); in helper_fadd_FT() 266 t0 = float64_add(t0, t1, &env->fp_status); in helper_fadd_DT() 332 t0 = float32_div(t0, t1, &env->fp_status); in helper_fdiv_FT() 340 t0 = float64_div(t0, t1, &env->fp_status); in helper_fdiv_DT() 374 t0 = float32_mul(t0, t1, &env->fp_status); in helper_fmul_FT() 382 t0 = float64_mul(t0, t1, &env->fp_status); in helper_fmul_DT() 390 t0 = float32_sqrt(t0, &env->fp_status); in helper_fsqrt_FT() 398 t0 = float64_sqrt(t0, &env->fp_status); in helper_fsqrt_DT() 407 t0 = float32_sqrt(t0, &env->fp_status); in helper_fsrra_FT() 467 &env->fp_status); in helper_fipr() [all …]
|
/qemu/target/riscv/ |
H A D | fpu_helper.c | 51 set_float_exception_flags(soft, &env->fp_status); in riscv_cpu_set_fflags() 81 set_float_rounding_mode(softrm, &env->fp_status); in helper_set_rounding_mode() 118 set_float_rounding_mode(softrm, &env->fp_status); in helper_set_rounding_mode_chkfrm() 169 &env->fp_status); in helper_fmsub_d() 188 &env->fp_status); in helper_fnmsub_d() 290 return float32_le(frs1, frs2, &env->fp_status); in helper_fle_s() 373 float_status *fs = &env->fp_status; in helper_fround_s() 452 return float64_sqrt(frs1, &env->fp_status); in helper_fsqrt_d() 517 return int64_to_float64(rs1, &env->fp_status); in helper_fcvt_d_l() 532 float_status *fs = &env->fp_status; in helper_fround_d() [all …]
|
/qemu/target/hppa/ |
H A D | fpu_helper.c | 47 set_float_rounding_mode(rm, &env->fp_status); in HELPER() 50 set_flush_to_zero(d, &env->fp_status); in HELPER() 51 set_flush_inputs_to_zero(d, &env->fp_status); in HELPER() 74 set_float_exception_flags(0, &env->fp_status); in update_fr0_op() 92 float32 ret = float32_sqrt(arg, &env->fp_status); in HELPER() 106 float32 ret = float32_add(a, b, &env->fp_status); in HELPER() 113 float32 ret = float32_sub(a, b, &env->fp_status); in HELPER() 120 float32 ret = float32_mul(a, b, &env->fp_status); in HELPER() 127 float32 ret = float32_div(a, b, &env->fp_status); in HELPER() 432 &env->fp_status); in HELPER() [all …]
|
/qemu/target/sparc/ |
H A D | fop_helper.c | 55 set_float_exception_flags(0, &env->fp_status); in check_ieee_exceptions() 90 float32 ret = float32_add(src1, src2, &env->fp_status); in helper_fadds() 97 float32 ret = float32_sub(src1, src2, &env->fp_status); in helper_fsubs() 176 &env->fp_status); in helper_fsmuld() 185 &env->fp_status); in helper_fdmulq() 193 float32 ret = int32_to_float32(src, &env->fp_status); in helper_fitos() 200 float64 ret = int32_to_float64(src, &env->fp_status); in helper_fitod() 327 float32 ret = float32_sqrt(src, &env->fp_status); in helper_fsqrts() 334 float64 ret = float64_sqrt(src, &env->fp_status); in helper_fsqrtd() 420 &env->fp_status); in helper_fnsmuld() [all …]
|
/qemu/target/i386/tcg/ |
H A D | fpu_helper.c | 115 u.f64 = floatx80_to_float64(a, &env->fp_status); in floatx80_to_double() 141 set_float_exception_flags(0, &env->fp_status); in save_exception_flags() 148 float_raise(old_flags, &env->fp_status); in merge_exception_flags() 206 FT0 = int32_to_floatx80(val, &env->fp_status); in helper_fildl_FT0() 307 val = floatx80_to_int32(ST0, &env->fp_status); in helper_fist_ST0() 321 val = floatx80_to_int32(ST0, &env->fp_status); in helper_fistl_ST0() 334 val = floatx80_to_int64(ST0, &env->fp_status); in helper_fistll_ST0() 516 ST0 = floatx80_add(ST0, FT0, &env->fp_status); in helper_fadd_ST0_FT0() 523 ST0 = floatx80_mul(ST0, FT0, &env->fp_status); in helper_fmul_ST0_FT0() 1754 &env->fp_status); in helper_fxtract() [all …]
|
/qemu/target/microblaze/ |
H A D | op_helper.c | 149 set_float_exception_flags(0, &env->fp_status); in helper_fadd() 164 set_float_exception_flags(0, &env->fp_status); in helper_frsub() 178 set_float_exception_flags(0, &env->fp_status); in helper_fmul() 193 set_float_exception_flags(0, &env->fp_status); in helper_fdiv() 231 set_float_exception_flags(0, &env->fp_status); in helper_fcmp_lt() 234 r = float32_lt(fb.f, fa.f, &env->fp_status); in helper_fcmp_lt() 266 r = float32_le(fa.f, fb.f, &env->fp_status); in helper_fcmp_le() 282 r = float32_lt(fa.f, fb.f, &env->fp_status); in helper_fcmp_gt() 311 r = !float32_lt(fa.f, fb.f, &env->fp_status); in helper_fcmp_ge() 335 r = float32_to_int32(fa.f, &env->fp_status); in helper_fint() [all …]
|
/qemu/target/hexagon/ |
H A D | arch.c | 198 set_float_exception_flags(0, &env->fp_status); in arch_fpop_start() 201 &env->fp_status); in arch_fpop_start() 239 float_status *fp_status) in arch_sf_recip_common() argument 267 float_raise(float_flag_invalid, fp_status); in arch_sf_recip_common() 271 float_raise(float_flag_invalid, fp_status); in arch_sf_recip_common() 308 RsV = float32_scalbn(RsV, 64, fp_status); in arch_sf_recip_common() 312 RtV = float32_scalbn(RtV, 32, fp_status); in arch_sf_recip_common() 315 RtV = float32_scalbn(RtV, 64, fp_status); in arch_sf_recip_common() 316 RsV = float32_scalbn(RsV, 64, fp_status); in arch_sf_recip_common() 335 float_status *fp_status) in arch_sf_invsqrt_common() argument [all …]
|
H A D | op_helper.c | 1198 RxV = check_nan(RxV, RxV, &env->fp_status); in HELPER() 1199 RxV = check_nan(RxV, RsV, &env->fp_status); in HELPER() 1200 RxV = check_nan(RxV, RtV, &env->fp_status); in HELPER() 1242 RxV = check_nan(RxV, RxV, &env->fp_status); in HELPER() 1243 RxV = check_nan(RxV, RsV, &env->fp_status); in HELPER() 1244 RxV = check_nan(RxV, RtV, &env->fp_status); in HELPER() 1275 RxV = check_nan(RxV, RxV, &env->fp_status); in HELPER() 1276 RxV = check_nan(RxV, RsV, &env->fp_status); in HELPER() 1277 RxV = check_nan(RxV, RtV, &env->fp_status); in HELPER() 1302 &env->fp_status); in HELPER() [all …]
|
H A D | fma_emu.c | 593 aa = float32_to_float64(a, fp_status); in special_fmaf() 594 bb = float32_to_float64(b, fp_status); in special_fmaf() 595 cc = float32_to_float64(c, fp_status); in special_fmaf() 596 return float64_to_float32(special_fma(aa, bb, cc, fp_status), fp_status); in special_fmaf() 600 float_status *fp_status) in internal_fmafx() argument 624 tmp = float32_add(tmp, c, fp_status); in internal_fmafx() 661 return float32_mul(a, b, fp_status); in internal_mpyf() 668 float_status *fp_status) in internal_mpyhh() argument 681 return float64_mul(a, b, fp_status); in internal_mpyhh() 686 return float64_mul(a, b, fp_status); in internal_mpyhh() [all …]
|
/qemu/target/openrisc/ |
H A D | fpu_helper.c | 59 int tmp = get_float_exception_flags(&env->fp_status); in HELPER() 62 set_float_exception_flags(0, &env->fp_status); in HELPER() 88 return int64_to_float64(val, &env->fp_status); in HELPER() 93 return int32_to_float32(val, &env->fp_status); in HELPER() 108 return float32_to_float64(val, &env->fp_status); in HELPER() 113 return float64_to_float32(val, &env->fp_status); in HELPER() 122 { return float32_ ## name(fdt0, fdt1, &env->fp_status); } 136 b = float64_mul(b, c, &env->fp_status); in FLOAT_CALC() 137 return float64_add(a, b, &env->fp_status); in FLOAT_CALC() 144 b = float32_mul(b, c, &env->fp_status); in helper_float_madd_s() [all …]
|
/qemu/target/tricore/ |
H A D | fpu_helper.c | 42 return get_float_exception_flags(&env->fp_status) in f_get_excp_flags() 90 set_float_exception_flags(0, &env->fp_status); in f_update_psw_flags() 243 if (float32_is_signaling_nan(arg1, &env->fp_status) in helper_qseed() 316 &env->fp_status); in helper_fmsub() 340 set_flush_inputs_to_zero(0, &env->fp_status); in helper_fcmp() 353 set_flush_inputs_to_zero(1, &env->fp_status); in helper_fcmp() 362 result = float32_to_int32(f_arg, &env->fp_status); in helper_ftoi() 397 set_flush_inputs_to_zero(0, &env->fp_status); in helper_hptof() 399 set_flush_inputs_to_zero(1, &env->fp_status); in helper_hptof() 435 set_flush_to_zero(0, &env->fp_status); in helper_ftohp() [all …]
|
H A D | helper.c | 103 set_float_rounding_mode(float_round_nearest_even, &env->fp_status); in fpu_set_state() 106 set_float_rounding_mode(float_round_up, &env->fp_status); in fpu_set_state() 109 set_float_rounding_mode(float_round_down, &env->fp_status); in fpu_set_state() 112 set_float_rounding_mode(float_round_to_zero, &env->fp_status); in fpu_set_state() 116 set_flush_inputs_to_zero(1, &env->fp_status); in fpu_set_state() 117 set_flush_to_zero(1, &env->fp_status); in fpu_set_state() 118 set_float_detect_tininess(float_tininess_before_rounding, &env->fp_status); in fpu_set_state() 119 set_default_nan_mode(1, &env->fp_status); in fpu_set_state()
|
/qemu/linux-user/arm/nwfpe/ |
H A D | fpa11_cprt.c | 85 int32_to_float32(readRegister(getRd(opcode)), &fpa11->fp_status); in PerformFLT() 93 int32_to_float64(readRegister(getRd(opcode)), &fpa11->fp_status); in PerformFLT() 101 int32_to_floatx80(readRegister(getRd(opcode)), &fpa11->fp_status); in PerformFLT() 124 float32_to_int32(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status)); in PerformFIX() 132 float64_to_int32(fpa11->fpreg[Fn].fDouble, &fpa11->fp_status)); in PerformFIX() 157 if (floatx80_lt(Fn,Fm, &fpa11->fp_status)) in PerformComparisonOperation() 163 if (floatx80_eq_quiet(Fn,Fm, &fpa11->fp_status)) in PerformComparisonOperation() 169 if (floatx80_lt(Fm,Fn, &fpa11->fp_status)) in PerformComparisonOperation() 205 rFn = float32_to_floatx80(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status); in PerformComparison() 212 rFn = float64_to_floatx80(fpa11->fpreg[Fn].fDouble, &fpa11->fp_status); in PerformComparison() [all …]
|
H A D | extended_cpdo.c | 56 rFm = float32_to_floatx80(fpa11->fpreg[Fm].fSingle, &fpa11->fp_status); in ExtendedCPDO() 60 rFm = float64_to_floatx80(fpa11->fpreg[Fm].fDouble, &fpa11->fp_status); in ExtendedCPDO() 77 rFn = float32_to_floatx80(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status); in ExtendedCPDO() 97 fpa11->fpreg[Fd].fExtended = floatx80_add(rFn,rFm, &fpa11->fp_status); in ExtendedCPDO() 102 fpa11->fpreg[Fd].fExtended = floatx80_mul(rFn,rFm, &fpa11->fp_status); in ExtendedCPDO() 106 fpa11->fpreg[Fd].fExtended = floatx80_sub(rFn,rFm, &fpa11->fp_status); in ExtendedCPDO() 110 fpa11->fpreg[Fd].fExtended = floatx80_sub(rFm,rFn, &fpa11->fp_status); in ExtendedCPDO() 115 fpa11->fpreg[Fd].fExtended = floatx80_div(rFn,rFm, &fpa11->fp_status); in ExtendedCPDO() 120 fpa11->fpreg[Fd].fExtended = floatx80_div(rFm,rFn, &fpa11->fp_status); in ExtendedCPDO() 134 fpa11->fpreg[Fd].fExtended = floatx80_rem(rFn,rFm, &fpa11->fp_status); in ExtendedCPDO() [all …]
|
H A D | double_cpdo.c | 56 rFm = float32_to_float64(fpa11->fpreg[Fm].fSingle, &fpa11->fp_status); in DoubleCPDO() 82 rFn = float32_to_float64(fpa11->fpreg[Fn].fSingle, &fpa11->fp_status); in DoubleCPDO() 99 fpa11->fpreg[Fd].fDouble = float64_add(rFn,rFm, &fpa11->fp_status); in DoubleCPDO() 104 fpa11->fpreg[Fd].fDouble = float64_mul(rFn,rFm, &fpa11->fp_status); in DoubleCPDO() 108 fpa11->fpreg[Fd].fDouble = float64_sub(rFn,rFm, &fpa11->fp_status); in DoubleCPDO() 112 fpa11->fpreg[Fd].fDouble = float64_sub(rFm,rFn, &fpa11->fp_status); in DoubleCPDO() 117 fpa11->fpreg[Fd].fDouble = float64_div(rFn,rFm, &fpa11->fp_status); in DoubleCPDO() 122 fpa11->fpreg[Fd].fDouble = float64_div(rFm,rFn, &fpa11->fp_status); in DoubleCPDO() 136 fpa11->fpreg[Fd].fDouble = float64_rem(rFn,rFm, &fpa11->fp_status); in DoubleCPDO() 176 fpa11->fpreg[Fd].fDouble = float64_round_to_int(rFm, &fpa11->fp_status); in DoubleCPDO() [all …]
|
H A D | fpa11_cpdo.c | 79 float64_to_float32(fpa11->fpreg[Fd].fDouble, &fpa11->fp_status); in EmulateCPDO() 82 floatx80_to_float32(fpa11->fpreg[Fd].fExtended, &fpa11->fp_status); in EmulateCPDO() 90 float32_to_float64(fpa11->fpreg[Fd].fSingle, &fpa11->fp_status); in EmulateCPDO() 93 floatx80_to_float64(fpa11->fpreg[Fd].fExtended, &fpa11->fp_status); in EmulateCPDO() 101 float32_to_floatx80(fpa11->fpreg[Fd].fSingle, &fpa11->fp_status); in EmulateCPDO() 104 float64_to_floatx80(fpa11->fpreg[Fd].fDouble, &fpa11->fp_status); in EmulateCPDO()
|
H A D | single_cpdo.c | 79 fpa11->fpreg[Fd].fSingle = float32_add(rFn,rFm, &fpa11->fp_status); in SingleCPDO() 84 fpa11->fpreg[Fd].fSingle = float32_mul(rFn,rFm, &fpa11->fp_status); in SingleCPDO() 88 fpa11->fpreg[Fd].fSingle = float32_sub(rFn,rFm, &fpa11->fp_status); in SingleCPDO() 92 fpa11->fpreg[Fd].fSingle = float32_sub(rFm,rFn, &fpa11->fp_status); in SingleCPDO() 97 fpa11->fpreg[Fd].fSingle = float32_div(rFn,rFm, &fpa11->fp_status); in SingleCPDO() 102 fpa11->fpreg[Fd].fSingle = float32_div(rFm,rFn, &fpa11->fp_status); in SingleCPDO() 116 fpa11->fpreg[Fd].fSingle = float32_rem(rFn,rFm, &fpa11->fp_status); in SingleCPDO() 140 fpa11->fpreg[Fd].fSingle = float32_round_to_int(rFm, &fpa11->fp_status); in SingleCPDO() 144 fpa11->fpreg[Fd].fSingle = float32_sqrt(rFm, &fpa11->fp_status); in SingleCPDO()
|
H A D | fpa11.c | 95 set_float_rounding_mode(rounding_mode, &fpa11->fp_status); in SetRoundingMode() 131 set_floatx80_rounding_precision(rounding_precision, &fpa11->fp_status); in SetRoundingPrecision() 169 set_float_exception_flags(0, &fpa11->fp_status); in EmulateAll() 200 if(nRc == 1 && get_float_exception_flags(&fpa11->fp_status)) in EmulateAll() 203 nRc = -get_float_exception_flags(&fpa11->fp_status); in EmulateAll()
|
/qemu/target/ppc/ |
H A D | fpu_helper.c | 1619 tstat = env->fp_status; in helper_xsaddqp() 1691 tstat = env->fp_status; in helper_xsmulqp() 1765 tstat = env->fp_status; in helper_xsdivqp() 2709 tstat = env->fp_status; in helper_XSCVQPDP() 2731 float_status tstat = env->fp_status; in helper_xscvdpspn() 3230 tstat = env->fp_status; in helper_xsrqpi() 3284 tstat = env->fp_status; in helper_xsrqpxp() 3309 tstat = env->fp_status; in helper_xssqrtqp() 3335 tstat = env->fp_status; in helper_xssubqp() 3401 float_status *excp_ptr = &env->fp_status; in vsxger16() [all …]
|
/qemu/target/arm/ |
H A D | vfp_helper.c | 291 return float32_sqrt(a, &env->vfp.fp_status); in VFP_HELPER() 296 return float64_sqrt(a, &env->vfp.fp_status); in VFP_HELPER() 335 DO_VFP_cmp(s, float32, float32, fp_status) in DO_VFP_cmp() 336 DO_VFP_cmp(d, float64, float64, fp_status) in DO_VFP_cmp() 477 float_status *fp_status = fpstp; in HELPER() local 480 set_float_rounding_mode(rmode, fp_status); in HELPER() 1014 return float16_round_to_int(x, fp_status); in HELPER() 1019 return float32_round_to_int(x, fp_status); in HELPER() 1032 ret = float16_round_to_int(x, fp_status); in HELPER() 1048 ret = float32_round_to_int(x, fp_status); in HELPER() [all …]
|
/qemu/target/mips/ |
H A D | fpu_helper.h | 19 &env->active_fpu.fp_status); in restore_rounding_mode() 25 &env->active_fpu.fp_status); in restore_flush_mode() 36 set_snan_bit_is_one(!nan2008, &env->active_fpu.fp_status); in restore_snan_bit_mode() 37 set_default_nan_mode(!nan2008, &env->active_fpu.fp_status); in restore_snan_bit_mode()
|