summaryrefslogtreecommitdiff
path: root/target/openrisc/helper.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2015-02-18 18:47:35 -0800
committerRichard Henderson <rth@twiddle.net>2017-02-14 08:15:00 +1100
commit762e22edcd021035e1dbcf0dbc31b4794c5c1027 (patch)
tree3f2fb564feb01629b7f125ce88ee928ee25729b2 /target/openrisc/helper.h
parentcc5de49ebe5b2881b88b22c13410f13657b472e0 (diff)
downloadqemu-762e22edcd021035e1dbcf0dbc31b4794c5c1027.tar.gz
target/openrisc: Fix madd
Note that the specification for lf.madd.s is confused. It's the only mention of supposed FPMADDHI/FPMADDLO special registers. On the other hand, or1ksim implements a somewhat normal non-fused multiply and add. Mirror that. Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target/openrisc/helper.h')
-rw-r--r--target/openrisc/helper.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/target/openrisc/helper.h b/target/openrisc/helper.h
index 78a123d442..4fd1a6bb8e 100644
--- a/target/openrisc/helper.h
+++ b/target/openrisc/helper.h
@@ -29,11 +29,8 @@ DEF_HELPER_FLAGS_2(itofs, TCG_CALL_NO_WG, i32, env, i32)
DEF_HELPER_FLAGS_2(ftoid, TCG_CALL_NO_WG, i64, env, i64)
DEF_HELPER_FLAGS_2(ftois, TCG_CALL_NO_WG, i32, env, i32)
-#define FOP_MADD(op) \
-DEF_HELPER_FLAGS_3(float_ ## op ## _s, TCG_CALL_NO_WG, i32, env, i32, i32) \
-DEF_HELPER_FLAGS_3(float_ ## op ## _d, TCG_CALL_NO_WG, i64, env, i64, i64)
-FOP_MADD(muladd)
-#undef FOP_MADD
+DEF_HELPER_FLAGS_4(float_madd_s, TCG_CALL_NO_WG, i32, env, i32, i32, i32)
+DEF_HELPER_FLAGS_4(float_madd_d, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
#define FOP_CALC(op) \
DEF_HELPER_FLAGS_3(float_ ## op ## _s, TCG_CALL_NO_WG, i32, env, i32, i32) \