summaryrefslogtreecommitdiffstats
path: root/target-sh4
diff options
context:
space:
mode:
authorAurelien Jarno2012-09-16 13:12:20 +0200
committerAurelien Jarno2012-09-21 19:53:15 +0200
commitff2086fed268d2b2fedb273f6794949ed2ef9e10 (patch)
tree427a98bf2c0baedfe3e98c556d317abc7477286c /target-sh4
parenttarget-sh4: mark a few helpers const and pure (diff)
downloadqemu-ff2086fed268d2b2fedb273f6794949ed2ef9e10.tar.gz
qemu-ff2086fed268d2b2fedb273f6794949ed2ef9e10.tar.xz
qemu-ff2086fed268d2b2fedb273f6794949ed2ef9e10.zip
target-sh4: use float32_muladd() to implement fmac
There is no need to add a SH4 specific pickNaNMulAdd() to softfloat as SH4 is always returning a default NaN. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-sh4')
-rw-r--r--target-sh4/op_helper.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/target-sh4/op_helper.c b/target-sh4/op_helper.c
index 9b4328de37..bf835fac0f 100644
--- a/target-sh4/op_helper.c
+++ b/target-sh4/op_helper.c
@@ -623,8 +623,7 @@ float64 helper_float_DT(CPUSH4State *env, uint32_t t0)
float32 helper_fmac_FT(CPUSH4State *env, float32 t0, float32 t1, float32 t2)
{
set_float_exception_flags(0, &env->fp_status);
- t0 = float32_mul(t0, t1, &env->fp_status);
- t0 = float32_add(t0, t2, &env->fp_status);
+ t0 = float32_muladd(t0, t1, t2, 0, &env->fp_status);
update_fpscr(env, GETPC());
return t0;
}