uint64_t helper_fabs_DT(uint64_t t0) { CPU_DoubleU d; d.ll = t0; d.d = float64_abs(d.d); return d.ll; }
/* absolute value of 64-bit float */ uint32_t HELPER(lpdbr)(CPUS390XState *env, uint32_t f1, uint32_t f2) { float64 v1; float64 v2 = env->fregs[f2].d; v1 = float64_abs(v2); env->fregs[f1].d = v1; return set_cc_nz_f64(v1); }
float64 float64_sin(float64 rad) { float64 app; float64 diff; float64 m_rad2; int inc; app = diff = rad; inc = 1; m_rad2 = float64_neg(float64_mul(rad, rad, 3)); do { diff = float64_div(float64_mul(diff, m_rad2, 3), int32_to_float64((2 * inc) * (2 * inc + 1)), 3); app = float64_add(app, diff, 3); inc++; } while ( float64_ge(float64_abs(diff), 0x3ee4f8b588e368f1ULL, 3)); /* 0.00001 */ return app; }
float64 helper_fabs_DT(float64 t0) { return float64_abs(t0); }
void do_vfp_absd(void) { FT0d = float64_abs(FT0d); }