[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 043/114] target/arm: Use TRANS_FEAT for do_vpz_ool
From: |
Richard Henderson |
Subject: |
[PATCH 043/114] target/arm: Use TRANS_FEAT for do_vpz_ool |
Date: |
Fri, 27 May 2022 11:17:56 -0700 |
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/translate-sve.c | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
index 911d2e28bf..6103bd7f1d 100644
--- a/target/arm/translate-sve.c
+++ b/target/arm/translate-sve.c
@@ -858,14 +858,11 @@ static bool do_vpz_ool(DisasContext *s, arg_rpr_esz *a,
}
#define DO_VPZ(NAME, name) \
-static bool trans_##NAME(DisasContext *s, arg_rpr_esz *a) \
-{ \
- static gen_helper_gvec_reduc * const fns[4] = { \
+ static gen_helper_gvec_reduc * const name##_fns[4] = { \
gen_helper_sve_##name##_b, gen_helper_sve_##name##_h, \
gen_helper_sve_##name##_s, gen_helper_sve_##name##_d, \
}; \
- return do_vpz_ool(s, a, fns[a->esz]); \
-}
+ TRANS_FEAT(NAME, aa64_sve, do_vpz_ool, a, name##_fns[a->esz])
DO_VPZ(ORV, orv)
DO_VPZ(ANDV, andv)
@@ -877,14 +874,11 @@ DO_VPZ(UMAXV, umaxv)
DO_VPZ(SMINV, sminv)
DO_VPZ(UMINV, uminv)
-static bool trans_SADDV(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_reduc * const fns[4] = {
- gen_helper_sve_saddv_b, gen_helper_sve_saddv_h,
- gen_helper_sve_saddv_s, NULL
- };
- return do_vpz_ool(s, a, fns[a->esz]);
-}
+static gen_helper_gvec_reduc * const saddv_fns[4] = {
+ gen_helper_sve_saddv_b, gen_helper_sve_saddv_h,
+ gen_helper_sve_saddv_s, NULL
+};
+TRANS_FEAT(SADDV, aa64_sve, do_vpz_ool, a, saddv_fns[a->esz])
#undef DO_VPZ
--
2.34.1
- [PATCH 036/114] target/arm: Introduce gen_gvec_fn_arg_zzzz, (continued)
- [PATCH 036/114] target/arm: Introduce gen_gvec_fn_arg_zzzz, Richard Henderson, 2022/05/27
- [PATCH 038/114] target/arm: Introduce gen_gvec_fn_zzi, Richard Henderson, 2022/05/27
- [PATCH 039/114] target/arm: Use TRANS_FEAT for do_zz_dbm, Richard Henderson, 2022/05/27
- [PATCH 037/114] target/arm: Use TRANS_FEAT for do_sve2_zzzz_fn, Richard Henderson, 2022/05/27
- [PATCH 050/114] target/arm: Use TRANS_FEAT for do_adr, Richard Henderson, 2022/05/27
- [PATCH 049/114] target/arm: Use TRANS_FEAT for do_index, Richard Henderson, 2022/05/27
- [PATCH 041/114] target/arm: Introduce gen_gvec_fn_arg_zzi, Richard Henderson, 2022/05/27
- [PATCH 046/114] target/arm: Use TRANS_FEAT for do_shift_zpzi, Richard Henderson, 2022/05/27
- [PATCH 042/114] target/arm: Use TRANS_FEAT for do_sve2_fn2i, Richard Henderson, 2022/05/27
- [PATCH 044/114] target/arm: Use TRANS_FEAT for do_shift_imm, Richard Henderson, 2022/05/27
- [PATCH 043/114] target/arm: Use TRANS_FEAT for do_vpz_ool,
Richard Henderson <=
- [PATCH 045/114] target/arm: Introduce do_shift_zpzi, Richard Henderson, 2022/05/27
- [PATCH 048/114] target/arm: Move sve check into do_index, Richard Henderson, 2022/05/27
- [PATCH 053/114] target/arm: Use TRANS_FEAT for do_pfirst_pnext, Richard Henderson, 2022/05/27
- [PATCH 052/114] target/arm: Use TRANS_FEAT for RDFFR, WRFFR, Richard Henderson, 2022/05/27
- [PATCH 051/114] target/arm: Use TRANS_FEAT for do_predset, Richard Henderson, 2022/05/27
- [PATCH 047/114] target/arm: Use TRANS_FEAT for do_zpzzz_ool, Richard Henderson, 2022/05/27
- [PATCH 054/114] target/arm: Use TRANS_FEAT for do_EXT, Richard Henderson, 2022/05/27
- [PATCH 055/114] target/arm: Use TRANS_FEAT for do_perm_pred3, Richard Henderson, 2022/05/27
- [PATCH 057/114] target/arm: Move sve zip high_ofs into simd_data, Richard Henderson, 2022/05/27
- [PATCH 061/114] target/arm: Use TRANS_FEAT for do_clast_fp, Richard Henderson, 2022/05/27