From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Subject: [PATCH 021/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpz
Date: Fri, 27 May 2022 11:17:34 -0700 [thread overview]
Message-ID: <20220527181907.189259-22-richard.henderson@linaro.org> (raw)
In-Reply-To: <20220527181907.189259-1-richard.henderson@linaro.org>
Convert SVE translation functions directly using
gen_gvec_ool_arg_zpz to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/translate-sve.c | 189 ++++++++++++-------------------------
1 file changed, 60 insertions(+), 129 deletions(-)
diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
index be426db6a9..d5a09a60af 100644
--- a/target/arm/translate-sve.c
+++ b/target/arm/translate-sve.c
@@ -812,101 +812,60 @@ static bool trans_SEL_zpzz(DisasContext *s, arg_rprr_esz *a)
*** SVE Integer Arithmetic - Unary Predicated Group
*/
-#define DO_ZPZ(NAME, name) \
-static bool trans_##NAME(DisasContext *s, arg_rpr_esz *a) \
-{ \
- static gen_helper_gvec_3 * const fns[4] = { \
- gen_helper_sve_##name##_b, gen_helper_sve_##name##_h, \
- gen_helper_sve_##name##_s, gen_helper_sve_##name##_d, \
+#define DO_ZPZ(NAME, FEAT, name) \
+ static gen_helper_gvec_3 * const name##_fns[4] = { \
+ gen_helper_##name##_b, gen_helper_##name##_h, \
+ gen_helper_##name##_s, gen_helper_##name##_d, \
}; \
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0); \
-}
+ TRANS_FEAT(NAME, FEAT, gen_gvec_ool_arg_zpz, name##_fns[a->esz], a, 0)
-DO_ZPZ(CLS, cls)
-DO_ZPZ(CLZ, clz)
-DO_ZPZ(CNT_zpz, cnt_zpz)
-DO_ZPZ(CNOT, cnot)
-DO_ZPZ(NOT_zpz, not_zpz)
-DO_ZPZ(ABS, abs)
-DO_ZPZ(NEG, neg)
+DO_ZPZ(CLS, aa64_sve, sve_cls)
+DO_ZPZ(CLZ, aa64_sve, sve_clz)
+DO_ZPZ(CNT_zpz, aa64_sve, sve_cnt_zpz)
+DO_ZPZ(CNOT, aa64_sve, sve_cnot)
+DO_ZPZ(NOT_zpz, aa64_sve, sve_not_zpz)
+DO_ZPZ(ABS, aa64_sve, sve_abs)
+DO_ZPZ(NEG, aa64_sve, sve_neg)
+DO_ZPZ(RBIT, aa64_sve, sve_rbit)
-static bool trans_FABS(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL,
- gen_helper_sve_fabs_h,
- gen_helper_sve_fabs_s,
- gen_helper_sve_fabs_d
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const fabs_fns[4] = {
+ NULL, gen_helper_sve_fabs_h,
+ gen_helper_sve_fabs_s, gen_helper_sve_fabs_d,
+};
+TRANS_FEAT(FABS, aa64_sve, gen_gvec_ool_arg_zpz, fabs_fns[a->esz], a, 0)
-static bool trans_FNEG(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL,
- gen_helper_sve_fneg_h,
- gen_helper_sve_fneg_s,
- gen_helper_sve_fneg_d
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const fneg_fns[4] = {
+ NULL, gen_helper_sve_fneg_h,
+ gen_helper_sve_fneg_s, gen_helper_sve_fneg_d,
+};
+TRANS_FEAT(FNEG, aa64_sve, gen_gvec_ool_arg_zpz, fneg_fns[a->esz], a, 0)
-static bool trans_SXTB(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL,
- gen_helper_sve_sxtb_h,
- gen_helper_sve_sxtb_s,
- gen_helper_sve_sxtb_d
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const sxtb_fns[4] = {
+ NULL, gen_helper_sve_sxtb_h,
+ gen_helper_sve_sxtb_s, gen_helper_sve_sxtb_d,
+};
+TRANS_FEAT(SXTB, aa64_sve, gen_gvec_ool_arg_zpz, sxtb_fns[a->esz], a, 0)
-static bool trans_UXTB(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL,
- gen_helper_sve_uxtb_h,
- gen_helper_sve_uxtb_s,
- gen_helper_sve_uxtb_d
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const uxtb_fns[4] = {
+ NULL, gen_helper_sve_uxtb_h,
+ gen_helper_sve_uxtb_s, gen_helper_sve_uxtb_d,
+};
+TRANS_FEAT(UXTB, aa64_sve, gen_gvec_ool_arg_zpz, uxtb_fns[a->esz], a, 0)
-static bool trans_SXTH(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL, NULL,
- gen_helper_sve_sxth_s,
- gen_helper_sve_sxth_d
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const sxth_fns[4] = {
+ NULL, NULL, gen_helper_sve_sxth_s, gen_helper_sve_sxth_d
+};
+TRANS_FEAT(SXTH, aa64_sve, gen_gvec_ool_arg_zpz, sxth_fns[a->esz], a, 0)
-static bool trans_UXTH(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL, NULL,
- gen_helper_sve_uxth_s,
- gen_helper_sve_uxth_d
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const uxth_fns[4] = {
+ NULL, NULL, gen_helper_sve_uxth_s, gen_helper_sve_uxth_d
+};
+TRANS_FEAT(UXTH, aa64_sve, gen_gvec_ool_arg_zpz, uxth_fns[a->esz], a, 0)
-static bool trans_SXTW(DisasContext *s, arg_rpr_esz *a)
-{
- return gen_gvec_ool_arg_zpz(s, a->esz == 3 ? gen_helper_sve_sxtw_d
- : NULL, a, 0);
-}
-
-static bool trans_UXTW(DisasContext *s, arg_rpr_esz *a)
-{
- return gen_gvec_ool_arg_zpz(s, a->esz == 3 ? gen_helper_sve_uxtw_d
- : NULL, a, 0);
-}
-
-#undef DO_ZPZ
+TRANS_FEAT(SXTW, aa64_sve, gen_gvec_ool_arg_zpz,
+ a->esz == 3 ? gen_helper_sve_sxtw_d : NULL, a, 0)
+TRANS_FEAT(UXTW, aa64_sve, gen_gvec_ool_arg_zpz,
+ a->esz == 3 ? gen_helper_sve_uxtw_d : NULL, a, 0)
/*
*** SVE Integer Reduction Group
@@ -2658,13 +2617,10 @@ TRANS_FEAT(TRN2_q, aa64_sve_f64mm, gen_gvec_ool_arg_zzz,
*** SVE Permute Vector - Predicated Group
*/
-static bool trans_COMPACT(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL, NULL, gen_helper_sve_compact_s, gen_helper_sve_compact_d
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const compact_fns[4] = {
+ NULL, NULL, gen_helper_sve_compact_s, gen_helper_sve_compact_d
+};
+TRANS_FEAT(COMPACT, aa64_sve, gen_gvec_ool_arg_zpz, compact_fns[a->esz], a, 0)
/* Call the helper that computes the ARM LastActiveElement pseudocode
* function, scaled by the element size. This includes the not found
@@ -3004,44 +2960,19 @@ static bool trans_CPY_m_v(DisasContext *s, arg_rpr_esz *a)
return true;
}
-static bool trans_REVB(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL,
- gen_helper_sve_revb_h,
- gen_helper_sve_revb_s,
- gen_helper_sve_revb_d,
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const revb_fns[4] = {
+ NULL, gen_helper_sve_revb_h,
+ gen_helper_sve_revb_s, gen_helper_sve_revb_d,
+};
+TRANS_FEAT(REVB, aa64_sve, gen_gvec_ool_arg_zpz, revb_fns[a->esz], a, 0)
-static bool trans_REVH(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- NULL,
- NULL,
- gen_helper_sve_revh_s,
- gen_helper_sve_revh_d,
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+static gen_helper_gvec_3 * const revh_fns[4] = {
+ NULL, NULL, gen_helper_sve_revh_s, gen_helper_sve_revh_d,
+};
+TRANS_FEAT(REVH, aa64_sve, gen_gvec_ool_arg_zpz, revh_fns[a->esz], a, 0)
-static bool trans_REVW(DisasContext *s, arg_rpr_esz *a)
-{
- return gen_gvec_ool_arg_zpz(s, a->esz == 3 ? gen_helper_sve_revw_d
- : NULL, a, 0);
-}
-
-static bool trans_RBIT(DisasContext *s, arg_rpr_esz *a)
-{
- static gen_helper_gvec_3 * const fns[4] = {
- gen_helper_sve_rbit_b,
- gen_helper_sve_rbit_h,
- gen_helper_sve_rbit_s,
- gen_helper_sve_rbit_d,
- };
- return gen_gvec_ool_arg_zpz(s, fns[a->esz], a, 0);
-}
+TRANS_FEAT(REVW, aa64_sve, gen_gvec_ool_arg_zpz,
+ a->esz == 3 ? gen_helper_sve_revw_d : NULL, a, 0)
static bool trans_SPLICE(DisasContext *s, arg_rprr_esz *a)
{
--
2.34.1
next prev parent reply other threads:[~2022-05-27 18:54 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-27 18:17 [PATCH 000/114] target/arm: Rewrite sve feature tests Richard Henderson
2022-05-27 18:17 ` [PATCH 001/114] target/arm: Introduce TRANS, TRANS_FEAT Richard Henderson
2022-05-27 18:17 ` [PATCH 002/114] target/arm: Move null function and sve check into gen_gvec_ool_zz Richard Henderson
2022-05-27 18:17 ` [PATCH 003/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_zz Richard Henderson
2022-05-27 18:17 ` [PATCH 004/114] target/arm: Move null function and sve check into gen_gvec_ool_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 005/114] target/arm: Introduce gen_gvec_ool_arg_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 006/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 007/114] target/arm: Use TRANS_FEAT for do_sve2_zzz_ool Richard Henderson
2022-05-27 18:17 ` [PATCH 008/114] target/arm: Move null function and sve check into gen_gvec_ool_zzzz Richard Henderson
2022-05-27 18:17 ` [PATCH 009/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_zzzz Richard Henderson
2022-05-27 18:17 ` [PATCH 010/114] target/arm: Introduce gen_gvec_ool_arg_zzzz Richard Henderson
2022-05-27 18:17 ` [PATCH 011/114] target/arm: Use TRANS_FEAT for do_sve2_zzzz_ool Richard Henderson
2022-05-27 18:17 ` [PATCH 012/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzzz Richard Henderson
2022-05-27 18:17 ` [PATCH 013/114] target/arm: Rename do_zzxz_ool to gen_gvec_ool_arg_zzxz Richard Henderson
2022-05-27 18:17 ` [PATCH 014/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzxz Richard Henderson
2022-05-27 18:17 ` [PATCH 015/114] target/arm: Use TRANS_FEAT for do_sve2_zzz_data Richard Henderson
2022-05-27 18:17 ` [PATCH 016/114] target/arm: Use TRANS_FEAT for do_sve2_zzzz_data Richard Henderson
2022-05-27 18:17 ` [PATCH 017/114] target/arm: Use TRANS_FEAT for do_sve2_zzw_data Richard Henderson
2022-05-27 18:17 ` [PATCH 018/114] target/arm: Use TRANS_FEAT for USDOT_zzzz Richard Henderson
2022-05-27 18:17 ` [PATCH 019/114] target/arm: Move null function and sve check into gen_gvec_ool_zzp Richard Henderson
2022-05-27 18:17 ` [PATCH 020/114] target/arm: Introduce gen_gvec_ool_arg_zpz Richard Henderson
2022-05-27 18:17 ` Richard Henderson [this message]
2022-05-27 18:17 ` [PATCH 022/114] target/arm: Use TRANS_FEAT for do_sve2_zpz_data Richard Henderson
2022-05-27 18:17 ` [PATCH 023/114] target/arm: Rename do_zpzi_ool to gen_gvec_ool_arg_zpzi Richard Henderson
2022-05-27 18:17 ` [PATCH 024/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzi Richard Henderson
2022-05-27 18:17 ` [PATCH 025/114] target/arm: Move null function and sve check into gen_gvec_ool_zzzp Richard Henderson
2022-05-27 18:17 ` [PATCH 026/114] target/arm: Introduce gen_gvec_ool_arg_zpzz Richard Henderson
2022-05-27 18:17 ` [PATCH 027/114] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzz Richard Henderson
2022-05-27 18:17 ` [PATCH 028/114] target/arm: Use TRANS_FEAT for do_sve2_zpzz_ool Richard Henderson
2022-05-27 18:17 ` [PATCH 029/114] target/arm: Merge gen_gvec_fn_zz into do_mov_z Richard Henderson
2022-05-27 18:17 ` [PATCH 030/114] target/arm: Move null function and sve check into gen_gvec_fn_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 031/114] target/arm: Rename do_zzz_fn to gen_gvec_fn_arg_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 032/114] target/arm: More use of gen_gvec_fn_arg_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 033/114] target/arm: Use TRANS_FEAT for gen_gvec_fn_arg_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 034/114] target/arm: Use TRANS_FEAT for do_sve2_fn_zzz Richard Henderson
2022-05-27 18:17 ` [PATCH 035/114] target/arm: Use TRANS_FEAT for RAX1 Richard Henderson
2022-05-27 18:17 ` [PATCH 036/114] target/arm: Introduce gen_gvec_fn_arg_zzzz Richard Henderson
2022-05-27 18:17 ` [PATCH 037/114] target/arm: Use TRANS_FEAT for do_sve2_zzzz_fn Richard Henderson
2022-05-27 18:17 ` [PATCH 038/114] target/arm: Introduce gen_gvec_fn_zzi Richard Henderson
2022-05-27 18:17 ` [PATCH 039/114] target/arm: Use TRANS_FEAT for do_zz_dbm Richard Henderson
2022-05-27 18:17 ` [PATCH 040/114] target/arm: Hoist sve access check through do_sel_z Richard Henderson
2022-05-27 18:17 ` [PATCH 041/114] target/arm: Introduce gen_gvec_fn_arg_zzi Richard Henderson
2022-05-27 18:17 ` [PATCH 042/114] target/arm: Use TRANS_FEAT for do_sve2_fn2i Richard Henderson
2022-05-27 18:17 ` [PATCH 043/114] target/arm: Use TRANS_FEAT for do_vpz_ool Richard Henderson
2022-05-27 18:17 ` [PATCH 044/114] target/arm: Use TRANS_FEAT for do_shift_imm Richard Henderson
2022-05-27 18:17 ` [PATCH 045/114] target/arm: Introduce do_shift_zpzi Richard Henderson
2022-05-27 18:17 ` [PATCH 046/114] target/arm: Use TRANS_FEAT for do_shift_zpzi Richard Henderson
2022-05-27 18:18 ` [PATCH 047/114] target/arm: Use TRANS_FEAT for do_zpzzz_ool Richard Henderson
2022-05-27 18:18 ` [PATCH 048/114] target/arm: Move sve check into do_index Richard Henderson
2022-05-27 18:18 ` [PATCH 049/114] target/arm: Use TRANS_FEAT for do_index Richard Henderson
2022-05-27 18:18 ` [PATCH 050/114] target/arm: Use TRANS_FEAT for do_adr Richard Henderson
2022-05-27 18:18 ` [PATCH 051/114] target/arm: Use TRANS_FEAT for do_predset Richard Henderson
2022-05-27 18:18 ` [PATCH 052/114] target/arm: Use TRANS_FEAT for RDFFR, WRFFR Richard Henderson
2022-05-27 18:18 ` [PATCH 053/114] target/arm: Use TRANS_FEAT for do_pfirst_pnext Richard Henderson
2022-05-27 18:18 ` [PATCH 054/114] target/arm: Use TRANS_FEAT for do_EXT Richard Henderson
2022-05-27 18:18 ` [PATCH 055/114] target/arm: Use TRANS_FEAT for do_perm_pred3 Richard Henderson
2022-05-27 18:18 ` [PATCH 056/114] target/arm: Use TRANS_FEAT for do_perm_pred2 Richard Henderson
2022-05-27 18:18 ` [PATCH 057/114] target/arm: Move sve zip high_ofs into simd_data Richard Henderson
2022-10-27 17:29 ` Idan Horowitz
2022-05-27 18:18 ` [PATCH 058/114] target/arm: Use gen_gvec_ool_arg_zzz for do_zip, do_zip_q Richard Henderson
2022-05-27 18:18 ` [PATCH 059/114] target/arm: Use TRANS_FEAT " Richard Henderson
2022-05-27 18:18 ` [PATCH 060/114] target/arm: Use TRANS_FEAT for do_clast_vector Richard Henderson
2022-05-27 18:18 ` [PATCH 061/114] target/arm: Use TRANS_FEAT for do_clast_fp Richard Henderson
2022-05-27 18:18 ` [PATCH 062/114] target/arm: Use TRANS_FEAT for do_clast_general Richard Henderson
2022-05-27 18:18 ` [PATCH 063/114] target/arm: Use TRANS_FEAT for do_last_fp Richard Henderson
2022-05-27 18:18 ` [PATCH 064/114] target/arm: Use TRANS_FEAT for do_last_general Richard Henderson
2022-05-27 18:18 ` [PATCH 065/114] target/arm: Use TRANS_FEAT for SPLICE Richard Henderson
2022-05-27 18:18 ` [PATCH 066/114] target/arm: Use TRANS_FEAT for do_ppzz_flags Richard Henderson
2022-05-27 18:18 ` [PATCH 067/114] target/arm: Use TRANS_FEAT for do_sve2_ppzz_flags Richard Henderson
2022-05-27 18:18 ` [PATCH 068/114] target/arm: Use TRANS_FEAT for do_ppzi_flags Richard Henderson
2022-05-27 18:18 ` [PATCH 069/114] target/arm: Use TRANS_FEAT for do_brk2, do_brk3 Richard Henderson
2022-05-27 18:18 ` [PATCH 070/114] target/arm: Use TRANS_FEAT for MUL_zzi Richard Henderson
2022-05-27 18:18 ` [PATCH 071/114] target/arm: Reject dup_i w/ shifted byte early Richard Henderson
2022-05-27 18:18 ` [PATCH 072/114] target/arm: Reject add/sub " Richard Henderson
2022-05-27 18:18 ` [PATCH 073/114] target/arm: Reject copy " Richard Henderson
2022-05-27 18:18 ` [PATCH 074/114] target/arm: Use TRANS_FEAT for ADD_zzi Richard Henderson
2022-05-27 18:18 ` [PATCH 075/114] target/arm: Use TRANS_FEAT for do_zzi_sat Richard Henderson
2022-05-27 18:18 ` [PATCH 076/114] target/arm: Use TRANS_FEAT for do_zzi_ool Richard Henderson
2022-05-27 18:18 ` [PATCH 077/114] target/arm: Introduce gen_gvec_{ptr,fpst}_zzzz Richard Henderson
2022-05-27 18:18 ` [PATCH 078/114] target/arm: Use TRANS_FEAT for FMMLA Richard Henderson
2022-05-27 18:18 ` [PATCH 079/114] target/arm: Move sve check into gen_gvec_fn_ppp Richard Henderson
2022-05-27 18:18 ` [PATCH 080/114] target/arm: Implement NOT (prediates) alias Richard Henderson
2022-05-27 18:18 ` [PATCH 081/114] target/arm: Use TRANS_FEAT for SEL_zpzz Richard Henderson
2022-05-27 18:18 ` [PATCH 082/114] target/arm: Use TRANS_FEAT for MOVPRFX Richard Henderson
2022-05-27 18:18 ` [PATCH 083/114] target/arm: Use TRANS_FEAT for FMLA Richard Henderson
2022-05-27 18:18 ` [PATCH 084/114] target/arm: Use TRANS_FEAT for BFMLA Richard Henderson
2022-05-27 18:18 ` [PATCH 085/114] target/arm: Rename do_zzz_fp to gen_gvec_ool_fpst_arg_zzz Richard Henderson
2022-05-27 18:18 ` [PATCH 086/114] target/arm: Use TRANS_FEAT for DO_FP3 Richard Henderson
2022-05-27 18:18 ` [PATCH 087/114] target/arm: Use TRANS_FEAT for FMUL_zzx Richard Henderson
2022-05-27 18:18 ` [PATCH 088/114] target/arm: Use TRANS_FEAT for FTMAD Richard Henderson
2022-05-27 18:18 ` [PATCH 089/114] target/arm: Move null function and sve check into do_reduce Richard Henderson
2022-05-27 18:18 ` [PATCH 090/114] target/arm: Use TRANS_FEAT for do_reduce Richard Henderson
2022-05-27 18:18 ` [PATCH 091/114] target/arm: Use TRANS_FEAT for FRECPE, FRSQRTE Richard Henderson
2022-05-27 18:18 ` [PATCH 092/114] target/arm: Expand frint_fns for MO_8 Richard Henderson
2022-05-27 18:18 ` [PATCH 093/114] target/arm: Rename do_zpz_ptr to gen_gvec_ool_fpst_arg_zpz Richard Henderson
2022-05-27 18:18 ` [PATCH 094/114] target/arm: Move null function and sve check into do_frint_mode Richard Henderson
2022-05-27 18:18 ` [PATCH 095/114] target/arm: Use TRANS_FEAT for do_frint_mode Richard Henderson
2022-05-27 18:18 ` [PATCH 096/114] target/arm: Use TRANS_FEAT for FLOGB Richard Henderson
2022-05-27 18:18 ` [PATCH 097/114] target/arm: Use TRANS_FEAT for do_ppz_fp Richard Henderson
2022-05-27 18:18 ` [PATCH 098/114] target/arm: Rename do_zpzz_ptr to gen_gvec_fpst_arg_zpzz Richard Henderson
2022-05-27 18:18 ` [PATCH 099/114] target/arm: Use TRANS_FEAT for gen_gvec_fpst_arg_zpzz Richard Henderson
2022-05-27 18:18 ` [PATCH 100/114] target/arm: Use TRANS_FEAT for FCADD Richard Henderson
2022-05-27 18:18 ` [PATCH 101/114] target/arm: Introduce gen_gvec_fpst_zzzzp Richard Henderson
2022-05-27 18:18 ` [PATCH 102/114] target/arm: Use TRANS_FEAT for gen_gvec_fpst_zzzzp Richard Henderson
2022-05-27 18:18 ` [PATCH 103/114] target/arm: Move null function and sve check into do_fp_imm Richard Henderson
2022-05-27 18:18 ` [PATCH 104/114] target/arm: Use TRANS_FEAT for DO_FP_IMM Richard Henderson
2022-05-27 18:18 ` [PATCH 105/114] target/arm: Use TRANS_FEAT for DO_FPCMP Richard Henderson
2022-05-27 18:18 ` [PATCH 106/114] target/arm: Remove assert in trans_FCMLA_zzxz Richard Henderson
2022-05-27 18:19 ` [PATCH 107/114] target/arm: Use TRANS_FEAT for FCMLA_zzxz Richard Henderson
2022-05-27 18:19 ` [PATCH 108/114] target/arm: Use TRANS_FEAT for do_narrow_extract Richard Henderson
2022-05-27 18:19 ` [PATCH 109/114] target/arm: Use TRANS_FEAT for do_shll_tb Richard Henderson
2022-05-27 18:19 ` [PATCH 110/114] target/arm: Use TRANS_FEAT for do_shr_narrow Richard Henderson
2022-05-27 18:19 ` [PATCH 111/114] target/arm: Use TRANS_FEAT for do_FMLAL_zzzw Richard Henderson
2022-05-27 18:19 ` [PATCH 112/114] target/arm: Use TRANS_FEAT for do_FMLAL_zzxw Richard Henderson
2022-05-27 18:19 ` [PATCH 113/114] target/arm: Add sve feature check for remaining trans_* functions Richard Henderson
2022-05-27 18:19 ` [PATCH 114/114] target/arm: Remove aa64_sve check from before disas_sve Richard Henderson
2022-05-30 15:11 ` [PATCH 000/114] target/arm: Rewrite sve feature tests Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220527181907.189259-22-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).