diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2019-02-28 10:55:16 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-02-28 11:03:05 +0000 |
commit | a4e943a716d5fac923d82df3eabc65d1e3624019 (patch) | |
tree | 275f8ec38828935c7b2cc4630455956afb46e8ce /target/arm/helper.h | |
parent | 942f99c825fc94c8b1a402fea128a41339cccee9 (diff) | |
download | qemu-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.h | 9 |
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" |