This includes URECPE, URSQRTE, SQABS, SQNEG.
Signed-off-by: Richard Henderson <[email protected]>
---
target/arm/tcg/translate-sve.c | 6 ++++++
target/arm/tcg/sve.decode | 5 +++++
2 files changed, 11 insertions(+)
diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c
index ad9d30d92d..083b70b487 100644
--- a/target/arm/tcg/translate-sve.c
+++ b/target/arm/tcg/translate-sve.c
@@ -6791,21 +6791,27 @@ TRANS_FEAT(UADALP_zpzz, aa64_sme_or_sve2,
gen_gvec_ool_arg_zpzz,
TRANS_FEAT(URECPE_m, aa64_sme_or_sve2, gen_gvec_ool_arg_zpz,
a->esz == 2 ? gen_helper_sve2_urecpe_s : NULL, a, 0)
+TRANS_FEAT(URECPE_z, aa64_sme2p2_or_sve2p2, gen_gvec_ool_arg_zpz,
+ a->esz == 2 ? gen_helper_sve2_urecpe_s : NULL, a, 1)
TRANS_FEAT(URSQRTE_m, aa64_sme_or_sve2, gen_gvec_ool_arg_zpz,
a->esz == 2 ? gen_helper_sve2_ursqrte_s : NULL, a, 0)
+TRANS_FEAT(URSQRTE_z, aa64_sme2p2_or_sve2p2, gen_gvec_ool_arg_zpz,
+ a->esz == 2 ? gen_helper_sve2_ursqrte_s : NULL, a, 1)
static gen_helper_gvec_3 * const sqabs_fns[4] = {
gen_helper_sve2_sqabs_b, gen_helper_sve2_sqabs_h,
gen_helper_sve2_sqabs_s, gen_helper_sve2_sqabs_d,
};
TRANS_FEAT(SQABS_m, aa64_sme_or_sve2, gen_gvec_ool_arg_zpz, sqabs_fns[a->esz],
a, 0)
+TRANS_FEAT(SQABS_z, aa64_sme2p2_or_sve2p2, gen_gvec_ool_arg_zpz,
sqabs_fns[a->esz], a, 1)
static gen_helper_gvec_3 * const sqneg_fns[4] = {
gen_helper_sve2_sqneg_b, gen_helper_sve2_sqneg_h,
gen_helper_sve2_sqneg_s, gen_helper_sve2_sqneg_d,
};
TRANS_FEAT(SQNEG_m, aa64_sme_or_sve2, gen_gvec_ool_arg_zpz, sqneg_fns[a->esz],
a, 0)
+TRANS_FEAT(SQNEG_z, aa64_sme2p2_or_sve2p2, gen_gvec_ool_arg_zpz,
sqneg_fns[a->esz], a, 1)
DO_ZPZZ(SQSHL, aa64_sme_or_sve2, sve2_sqshl)
DO_ZPZZ(SQRSHL, aa64_sme_or_sve2, sve2_sqrshl)
diff --git a/target/arm/tcg/sve.decode b/target/arm/tcg/sve.decode
index 45f8633fd3..f1cf7a628d 100644
--- a/target/arm/tcg/sve.decode
+++ b/target/arm/tcg/sve.decode
@@ -1545,6 +1545,11 @@ URSQRTE_m 01000100 .. 000 001 101 ... ..... .....
@rd_pg_rn
SQABS_m 01000100 .. 001 000 101 ... ..... ..... @rd_pg_rn
SQNEG_m 01000100 .. 001 001 101 ... ..... ..... @rd_pg_rn
+URECPE_z 01000100 .. 000 010 101 ... ..... ..... @rd_pg_rn
+URSQRTE_z 01000100 .. 000 011 101 ... ..... ..... @rd_pg_rn
+SQABS_z 01000100 .. 001 010 101 ... ..... ..... @rd_pg_rn
+SQNEG_z 01000100 .. 001 011 101 ... ..... ..... @rd_pg_rn
+
### SVE2 saturating/rounding bitwise shift left (predicated)
SRSHL 01000100 .. 000 010 100 ... ..... ..... @rdn_pg_rm
--
2.43.0