summaryrefslogtreecommitdiffstats
path: root/target/arm/helper-a64.h
diff options
context:
space:
mode:
authorAlex Bennée2018-03-01 12:05:48 +0100
committerPeter Maydell2018-03-01 12:13:59 +0100
commit807cdd504283c11addcd7ea95ba594bbddc86fe4 (patch)
treeaea3cddf23b332791785f3c23668f268ddab096d /target/arm/helper-a64.h
parenttarget/arm/helper: pass explicit fpst to set_rmode (diff)
downloadqemu-807cdd504283c11addcd7ea95ba594bbddc86fe4.tar.gz
qemu-807cdd504283c11addcd7ea95ba594bbddc86fe4.tar.xz
qemu-807cdd504283c11addcd7ea95ba594bbddc86fe4.zip
arm/translate-a64: implement half-precision F(MIN|MAX)(V|NMV)
This implements the half-precision variants of the across vector reduction operations. This involves a re-factor of the reduction code which more closely matches the ARM ARM order (and handles 8 element reductions). Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20180227143852.11175-7-alex.bennee@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/helper-a64.h')
-rw-r--r--target/arm/helper-a64.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/target/arm/helper-a64.h b/target/arm/helper-a64.h
index 85d86741db..cb2a73124d 100644
--- a/target/arm/helper-a64.h
+++ b/target/arm/helper-a64.h
@@ -48,3 +48,7 @@ DEF_HELPER_FLAGS_4(paired_cmpxchg64_le_parallel, TCG_CALL_NO_WG,
DEF_HELPER_FLAGS_4(paired_cmpxchg64_be, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
DEF_HELPER_FLAGS_4(paired_cmpxchg64_be_parallel, TCG_CALL_NO_WG,
i64, env, i64, i64, i64)
+DEF_HELPER_FLAGS_3(advsimd_maxh, TCG_CALL_NO_RWG, f16, f16, f16, ptr)
+DEF_HELPER_FLAGS_3(advsimd_minh, TCG_CALL_NO_RWG, f16, f16, f16, ptr)
+DEF_HELPER_FLAGS_3(advsimd_maxnumh, TCG_CALL_NO_RWG, f16, f16, f16, ptr)
+DEF_HELPER_FLAGS_3(advsimd_minnumh, TCG_CALL_NO_RWG, f16, f16, f16, ptr)