From 47c0143cdde080101e97a1b39f3ff13e33b5726c Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Wed, 20 Apr 2011 13:04:23 +0200 Subject: [PATCH] target-i386: add CPU86_LDouble <-> double conversion functions Add functions to convert CPU86_LDouble to double and vice versa. They are going to be used to implement logarithmic and trigonometric function until softfloat implement them. Reviewed-by: Peter Maydell Signed-off-by: Aurelien Jarno --- target-i386/op_helper.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c index f7cdaaa222..64c0bbf0ce 100644 --- a/target-i386/op_helper.c +++ b/target-i386/op_helper.c @@ -3431,6 +3431,28 @@ void helper_verw(target_ulong selector1) /* x87 FPU helpers */ +static inline double CPU86_LDouble_to_double(CPU86_LDouble a) +{ + union { + float64 f64; + double d; + } u; + + u.f64 = floatx_to_float64(a, &env->fp_status); + return u.d; +} + +static inline CPU86_LDouble double_to_CPU86_LDouble(double a) +{ + union { + float64 f64; + double d; + } u; + + u.d = a; + return float64_to_floatx(u.f64, &env->fp_status); +} + static void fpu_set_exception(int mask) { env->fpus |= mask; -- GitLab