qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 097/111] m68k: use expl() to compute exp_FP0()


From: Bryce Lanham
Subject: [Qemu-devel] [PATCH 097/111] m68k: use expl() to compute exp_FP0()
Date: Wed, 17 Aug 2011 15:53:28 -0500

From: Laurent Vivier <address@hidden>

Signed-off-by: Laurent Vivier <address@hidden>
---
 target-m68k/helper.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/target-m68k/helper.c b/target-m68k/helper.c
index 17f2d48..d4364f7 100644
--- a/target-m68k/helper.c
+++ b/target-m68k/helper.c
@@ -1442,20 +1442,16 @@ void HELPER(tan_FP0)(CPUState *env)
 void HELPER(exp_FP0)(CPUState *env)
 {
     floatx80 f;
-    float32 res;
-
-    /* exp(x) = exp2(x * log2(e)) */
+    long double res;
 
     f = FP0_to_floatx80(env);
 
     DBG_FPUH("exp_FP0 %Lg", floatx80_to_ldouble(f));
 
-    f = floatx80_mul(f, floatx80_log2e, &env->fp_status);
-    res = float32_exp2(floatx80_to_float32(f, &env->fp_status),
-                       &env->fp_status);
+    res = expl(floatx80_to_ldouble(f));
 
-    DBG_FPU(" = %f\n", FLOAT(res));
-    floatx80_to_FP0(env, float32_to_floatx80(res, &env->fp_status));
+    DBG_FPU(" = %Lg\n", res);
+    floatx80_to_FP0(env, ldouble_to_floatx80(res));
 }
 
 void HELPER(exp2_FP0)(CPUState *env)
-- 
1.7.2.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]