From: Aurelien Jarno Date: Wed, 20 Apr 2011 11:04:23 +0000 (+0200) Subject: target-i386: add CPU86_LDouble <-> double conversion functions X-Git-Tag: v0.15.0-rc0~357 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=47c0143cdde080101e97a1b39f3ff13e33b5726c;p=qemu-xen-4.4-testing.git 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 --- diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c index f7cdaaa22..64c0bbf0c 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;