aboutsummaryrefslogtreecommitdiff
path: root/target/arm/helper.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2019-02-28 10:55:16 +0000
committerPeter Maydell <peter.maydell@linaro.org>2019-02-28 11:03:05 +0000
commita4e943a716d5fac923d82df3eabc65d1e3624019 (patch)
tree275f8ec38828935c7b2cc4630455956afb46e8ce /target/arm/helper.h
parent942f99c825fc94c8b1a402fea128a41339cccee9 (diff)
downloadqemu-a4e943a716d5fac923d82df3eabc65d1e3624019.zip
qemu-a4e943a716d5fac923d82df3eabc65d1e3624019.tar.gz
qemu-a4e943a716d5fac923d82df3eabc65d1e3624019.tar.bz2
target/arm: Add helpers for FMLAL
Note that float16_to_float32 rightly squashes SNaN to QNaN. But of course pickNaNMulAdd, for ARM, selects SNaNs first. So we have to preserve SNaN long enough for the correct NaN to be selected. Thus float16_to_float32_by_bits. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20190219222952.22183-2-richard.henderson@linaro.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/helper.h')
-rw-r--r--target/arm/helper.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/target/arm/helper.h b/target/arm/helper.h
index 747cb64..d363904 100644
--- a/target/arm/helper.h
+++ b/target/arm/helper.h
@@ -677,6 +677,15 @@ DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG,
DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG,
void, ptr, ptr, ptr, ptr, i32)
+DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG,
+ void, ptr, ptr, ptr, ptr, i32)
+DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG,
+ void, ptr, ptr, ptr, ptr, i32)
+DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a32, TCG_CALL_NO_RWG,
+ void, ptr, ptr, ptr, ptr, i32)
+DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a64, TCG_CALL_NO_RWG,
+ void, ptr, ptr, ptr, ptr, i32)
+
#ifdef TARGET_AARCH64
#include "helper-a64.h"
#include "helper-sve.h"