From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Subject: [PULL 014/117] target/arm: Use TRANS_FEAT for do_sve2_zzzz_ool
Date: Mon, 30 May 2022 17:05:25 +0100 [thread overview]
Message-ID: <20220530160708.726466-15-peter.maydell@linaro.org> (raw)
In-Reply-To: <20220530160708.726466-1-peter.maydell@linaro.org>
From: Richard Henderson <richard.henderson@linaro.org>
Convert SVE translation functions using do_sve2_zzzz_ool
to use TRANS_FEAT and gen_gvec_ool_arg_zzzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220527181907.189259-12-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
target/arm/translate-sve.c | 263 +++++++++++--------------------------
1 file changed, 79 insertions(+), 184 deletions(-)
diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
index e795baf6f92..cae6df705a4 100644
--- a/target/arm/translate-sve.c
+++ b/target/arm/translate-sve.c
@@ -7109,45 +7109,19 @@ static bool trans_SQCADD_rot270(DisasContext *s, arg_rrr_esz *a)
return do_cadd(s, a, true, true);
}
-static bool do_sve2_zzzz_ool(DisasContext *s, arg_rrrr_esz *a,
- gen_helper_gvec_4 *fn, int data)
-{
- if (!dc_isar_feature(aa64_sve2, s)) {
- return false;
- }
- return gen_gvec_ool_arg_zzzz(s, fn, a, data);
-}
+static gen_helper_gvec_4 * const sabal_fns[4] = {
+ NULL, gen_helper_sve2_sabal_h,
+ gen_helper_sve2_sabal_s, gen_helper_sve2_sabal_d,
+};
+TRANS_FEAT(SABALB, aa64_sve2, gen_gvec_ool_arg_zzzz, sabal_fns[a->esz], a, 0)
+TRANS_FEAT(SABALT, aa64_sve2, gen_gvec_ool_arg_zzzz, sabal_fns[a->esz], a, 1)
-static bool do_abal(DisasContext *s, arg_rrrr_esz *a, bool uns, bool sel)
-{
- static gen_helper_gvec_4 * const fns[2][4] = {
- { NULL, gen_helper_sve2_sabal_h,
- gen_helper_sve2_sabal_s, gen_helper_sve2_sabal_d },
- { NULL, gen_helper_sve2_uabal_h,
- gen_helper_sve2_uabal_s, gen_helper_sve2_uabal_d },
- };
- return do_sve2_zzzz_ool(s, a, fns[uns][a->esz], sel);
-}
-
-static bool trans_SABALB(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_abal(s, a, false, false);
-}
-
-static bool trans_SABALT(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_abal(s, a, false, true);
-}
-
-static bool trans_UABALB(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_abal(s, a, true, false);
-}
-
-static bool trans_UABALT(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_abal(s, a, true, true);
-}
+static gen_helper_gvec_4 * const uabal_fns[4] = {
+ NULL, gen_helper_sve2_uabal_h,
+ gen_helper_sve2_uabal_s, gen_helper_sve2_uabal_d,
+};
+TRANS_FEAT(UABALB, aa64_sve2, gen_gvec_ool_arg_zzzz, uabal_fns[a->esz], a, 0)
+TRANS_FEAT(UABALT, aa64_sve2, gen_gvec_ool_arg_zzzz, uabal_fns[a->esz], a, 1)
static bool do_adcl(DisasContext *s, arg_rrrr_esz *a, bool sel)
{
@@ -7159,18 +7133,11 @@ static bool do_adcl(DisasContext *s, arg_rrrr_esz *a, bool sel)
* Note that in this case the ESZ field encodes both size and sign.
* Split out 'subtract' into bit 1 of the data field for the helper.
*/
- return do_sve2_zzzz_ool(s, a, fns[a->esz & 1], (a->esz & 2) | sel);
+ return gen_gvec_ool_arg_zzzz(s, fns[a->esz & 1], a, (a->esz & 2) | sel);
}
-static bool trans_ADCLB(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_adcl(s, a, false);
-}
-
-static bool trans_ADCLT(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_adcl(s, a, true);
-}
+TRANS_FEAT(ADCLB, aa64_sve2, do_adcl, a, false)
+TRANS_FEAT(ADCLT, aa64_sve2, do_adcl, a, true)
static bool do_sve2_fn2i(DisasContext *s, arg_rri_esz *a, GVecGen2iFn *fn)
{
@@ -8048,149 +8015,77 @@ static bool trans_FMMLA(DisasContext *s, arg_rrrr_esz *a)
return true;
}
-static bool do_sqdmlal_zzzw(DisasContext *s, arg_rrrr_esz *a,
- bool sel1, bool sel2)
-{
- static gen_helper_gvec_4 * const fns[] = {
- NULL, gen_helper_sve2_sqdmlal_zzzw_h,
- gen_helper_sve2_sqdmlal_zzzw_s, gen_helper_sve2_sqdmlal_zzzw_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], (sel2 << 1) | sel1);
-}
+static gen_helper_gvec_4 * const sqdmlal_zzzw_fns[] = {
+ NULL, gen_helper_sve2_sqdmlal_zzzw_h,
+ gen_helper_sve2_sqdmlal_zzzw_s, gen_helper_sve2_sqdmlal_zzzw_d,
+};
+TRANS_FEAT(SQDMLALB_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqdmlal_zzzw_fns[a->esz], a, 0)
+TRANS_FEAT(SQDMLALT_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqdmlal_zzzw_fns[a->esz], a, 3)
+TRANS_FEAT(SQDMLALBT, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqdmlal_zzzw_fns[a->esz], a, 2)
-static bool do_sqdmlsl_zzzw(DisasContext *s, arg_rrrr_esz *a,
- bool sel1, bool sel2)
-{
- static gen_helper_gvec_4 * const fns[] = {
- NULL, gen_helper_sve2_sqdmlsl_zzzw_h,
- gen_helper_sve2_sqdmlsl_zzzw_s, gen_helper_sve2_sqdmlsl_zzzw_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], (sel2 << 1) | sel1);
-}
+static gen_helper_gvec_4 * const sqdmlsl_zzzw_fns[] = {
+ NULL, gen_helper_sve2_sqdmlsl_zzzw_h,
+ gen_helper_sve2_sqdmlsl_zzzw_s, gen_helper_sve2_sqdmlsl_zzzw_d,
+};
+TRANS_FEAT(SQDMLSLB_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqdmlsl_zzzw_fns[a->esz], a, 0)
+TRANS_FEAT(SQDMLSLT_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqdmlsl_zzzw_fns[a->esz], a, 3)
+TRANS_FEAT(SQDMLSLBT, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqdmlsl_zzzw_fns[a->esz], a, 2)
-static bool trans_SQDMLALB_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_sqdmlal_zzzw(s, a, false, false);
-}
+static gen_helper_gvec_4 * const sqrdmlah_fns[] = {
+ gen_helper_sve2_sqrdmlah_b, gen_helper_sve2_sqrdmlah_h,
+ gen_helper_sve2_sqrdmlah_s, gen_helper_sve2_sqrdmlah_d,
+};
+TRANS_FEAT(SQRDMLAH_zzzz, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqrdmlah_fns[a->esz], a, 0)
-static bool trans_SQDMLALT_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_sqdmlal_zzzw(s, a, true, true);
-}
+static gen_helper_gvec_4 * const sqrdmlsh_fns[] = {
+ gen_helper_sve2_sqrdmlsh_b, gen_helper_sve2_sqrdmlsh_h,
+ gen_helper_sve2_sqrdmlsh_s, gen_helper_sve2_sqrdmlsh_d,
+};
+TRANS_FEAT(SQRDMLSH_zzzz, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ sqrdmlsh_fns[a->esz], a, 0)
-static bool trans_SQDMLALBT(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_sqdmlal_zzzw(s, a, false, true);
-}
+static gen_helper_gvec_4 * const smlal_zzzw_fns[] = {
+ NULL, gen_helper_sve2_smlal_zzzw_h,
+ gen_helper_sve2_smlal_zzzw_s, gen_helper_sve2_smlal_zzzw_d,
+};
+TRANS_FEAT(SMLALB_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ smlal_zzzw_fns[a->esz], a, 0)
+TRANS_FEAT(SMLALT_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ smlal_zzzw_fns[a->esz], a, 1)
-static bool trans_SQDMLSLB_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_sqdmlsl_zzzw(s, a, false, false);
-}
+static gen_helper_gvec_4 * const umlal_zzzw_fns[] = {
+ NULL, gen_helper_sve2_umlal_zzzw_h,
+ gen_helper_sve2_umlal_zzzw_s, gen_helper_sve2_umlal_zzzw_d,
+};
+TRANS_FEAT(UMLALB_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ umlal_zzzw_fns[a->esz], a, 0)
+TRANS_FEAT(UMLALT_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ umlal_zzzw_fns[a->esz], a, 1)
-static bool trans_SQDMLSLT_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_sqdmlsl_zzzw(s, a, true, true);
-}
+static gen_helper_gvec_4 * const smlsl_zzzw_fns[] = {
+ NULL, gen_helper_sve2_smlsl_zzzw_h,
+ gen_helper_sve2_smlsl_zzzw_s, gen_helper_sve2_smlsl_zzzw_d,
+};
+TRANS_FEAT(SMLSLB_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ smlsl_zzzw_fns[a->esz], a, 0)
+TRANS_FEAT(SMLSLT_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ smlsl_zzzw_fns[a->esz], a, 1)
-static bool trans_SQDMLSLBT(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_sqdmlsl_zzzw(s, a, false, true);
-}
-
-static bool trans_SQRDMLAH_zzzz(DisasContext *s, arg_rrrr_esz *a)
-{
- static gen_helper_gvec_4 * const fns[] = {
- gen_helper_sve2_sqrdmlah_b, gen_helper_sve2_sqrdmlah_h,
- gen_helper_sve2_sqrdmlah_s, gen_helper_sve2_sqrdmlah_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], 0);
-}
-
-static bool trans_SQRDMLSH_zzzz(DisasContext *s, arg_rrrr_esz *a)
-{
- static gen_helper_gvec_4 * const fns[] = {
- gen_helper_sve2_sqrdmlsh_b, gen_helper_sve2_sqrdmlsh_h,
- gen_helper_sve2_sqrdmlsh_s, gen_helper_sve2_sqrdmlsh_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], 0);
-}
-
-static bool do_smlal_zzzw(DisasContext *s, arg_rrrr_esz *a, bool sel)
-{
- static gen_helper_gvec_4 * const fns[] = {
- NULL, gen_helper_sve2_smlal_zzzw_h,
- gen_helper_sve2_smlal_zzzw_s, gen_helper_sve2_smlal_zzzw_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], sel);
-}
-
-static bool trans_SMLALB_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_smlal_zzzw(s, a, false);
-}
-
-static bool trans_SMLALT_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_smlal_zzzw(s, a, true);
-}
-
-static bool do_umlal_zzzw(DisasContext *s, arg_rrrr_esz *a, bool sel)
-{
- static gen_helper_gvec_4 * const fns[] = {
- NULL, gen_helper_sve2_umlal_zzzw_h,
- gen_helper_sve2_umlal_zzzw_s, gen_helper_sve2_umlal_zzzw_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], sel);
-}
-
-static bool trans_UMLALB_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_umlal_zzzw(s, a, false);
-}
-
-static bool trans_UMLALT_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_umlal_zzzw(s, a, true);
-}
-
-static bool do_smlsl_zzzw(DisasContext *s, arg_rrrr_esz *a, bool sel)
-{
- static gen_helper_gvec_4 * const fns[] = {
- NULL, gen_helper_sve2_smlsl_zzzw_h,
- gen_helper_sve2_smlsl_zzzw_s, gen_helper_sve2_smlsl_zzzw_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], sel);
-}
-
-static bool trans_SMLSLB_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_smlsl_zzzw(s, a, false);
-}
-
-static bool trans_SMLSLT_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_smlsl_zzzw(s, a, true);
-}
-
-static bool do_umlsl_zzzw(DisasContext *s, arg_rrrr_esz *a, bool sel)
-{
- static gen_helper_gvec_4 * const fns[] = {
- NULL, gen_helper_sve2_umlsl_zzzw_h,
- gen_helper_sve2_umlsl_zzzw_s, gen_helper_sve2_umlsl_zzzw_d,
- };
- return do_sve2_zzzz_ool(s, a, fns[a->esz], sel);
-}
-
-static bool trans_UMLSLB_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_umlsl_zzzw(s, a, false);
-}
-
-static bool trans_UMLSLT_zzzw(DisasContext *s, arg_rrrr_esz *a)
-{
- return do_umlsl_zzzw(s, a, true);
-}
+static gen_helper_gvec_4 * const umlsl_zzzw_fns[] = {
+ NULL, gen_helper_sve2_umlsl_zzzw_h,
+ gen_helper_sve2_umlsl_zzzw_s, gen_helper_sve2_umlsl_zzzw_d,
+};
+TRANS_FEAT(UMLSLB_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ umlsl_zzzw_fns[a->esz], a, 0)
+TRANS_FEAT(UMLSLT_zzzw, aa64_sve2, gen_gvec_ool_arg_zzzz,
+ umlsl_zzzw_fns[a->esz], a, 1)
static gen_helper_gvec_4 * const cmla_fns[] = {
gen_helper_sve2_cmla_zzzz_b, gen_helper_sve2_cmla_zzzz_h,
--
2.25.1
next prev parent reply other threads:[~2022-05-30 16:25 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-30 16:05 [PULL 000/117] target-arm queue Peter Maydell
2022-05-30 16:05 ` [PULL 001/117] docs/system/arm: Add FEAT_HCX to list of emulated features Peter Maydell
2022-05-30 16:05 ` [PULL 002/117] target/arm/hvf: Include missing "cpregs.h" Peter Maydell
2022-05-30 16:05 ` [PULL 003/117] hw/sd/allwinner-sdhost: report FIFO water level as 1 when data ready Peter Maydell
2022-05-30 16:05 ` [PULL 004/117] target/arm: Introduce TRANS, TRANS_FEAT Peter Maydell
2022-05-30 16:05 ` [PULL 005/117] target/arm: Move null function and sve check into gen_gvec_ool_zz Peter Maydell
2022-05-30 16:05 ` [PULL 006/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_zz Peter Maydell
2022-05-30 16:05 ` [PULL 007/117] target/arm: Move null function and sve check into gen_gvec_ool_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 008/117] target/arm: Introduce gen_gvec_ool_arg_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 009/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 010/117] target/arm: Use TRANS_FEAT for do_sve2_zzz_ool Peter Maydell
2022-05-30 16:05 ` [PULL 011/117] target/arm: Move null function and sve check into gen_gvec_ool_zzzz Peter Maydell
2022-05-30 16:05 ` [PULL 012/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_zzzz Peter Maydell
2022-05-30 16:05 ` [PULL 013/117] target/arm: Introduce gen_gvec_ool_arg_zzzz Peter Maydell
2022-05-30 16:05 ` Peter Maydell [this message]
2022-05-30 16:05 ` [PULL 015/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzzz Peter Maydell
2022-05-30 16:05 ` [PULL 016/117] target/arm: Rename do_zzxz_ool to gen_gvec_ool_arg_zzxz Peter Maydell
2022-05-30 16:05 ` [PULL 017/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzxz Peter Maydell
2022-05-30 16:05 ` [PULL 018/117] target/arm: Use TRANS_FEAT for do_sve2_zzz_data Peter Maydell
2022-05-30 16:05 ` [PULL 019/117] target/arm: Use TRANS_FEAT for do_sve2_zzzz_data Peter Maydell
2022-05-30 16:05 ` [PULL 020/117] target/arm: Use TRANS_FEAT for do_sve2_zzw_data Peter Maydell
2022-05-30 16:05 ` [PULL 021/117] target/arm: Use TRANS_FEAT for USDOT_zzzz Peter Maydell
2022-05-30 16:05 ` [PULL 022/117] target/arm: Move null function and sve check into gen_gvec_ool_zzp Peter Maydell
2022-05-30 16:05 ` [PULL 023/117] target/arm: Introduce gen_gvec_ool_arg_zpz Peter Maydell
2022-05-30 16:05 ` [PULL 024/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpz Peter Maydell
2022-05-30 16:05 ` [PULL 025/117] target/arm: Use TRANS_FEAT for do_sve2_zpz_data Peter Maydell
2022-05-30 16:05 ` [PULL 026/117] target/arm: Rename do_zpzi_ool to gen_gvec_ool_arg_zpzi Peter Maydell
2022-05-30 16:05 ` [PULL 027/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzi Peter Maydell
2022-05-30 16:05 ` [PULL 028/117] target/arm: Move null function and sve check into gen_gvec_ool_zzzp Peter Maydell
2022-05-30 16:05 ` [PULL 029/117] target/arm: Introduce gen_gvec_ool_arg_zpzz Peter Maydell
2022-05-30 16:05 ` [PULL 030/117] target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzz Peter Maydell
2022-05-30 16:05 ` [PULL 031/117] target/arm: Use TRANS_FEAT for do_sve2_zpzz_ool Peter Maydell
2022-05-30 16:05 ` [PULL 032/117] target/arm: Merge gen_gvec_fn_zz into do_mov_z Peter Maydell
2022-05-30 16:05 ` [PULL 033/117] target/arm: Move null function and sve check into gen_gvec_fn_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 034/117] target/arm: Rename do_zzz_fn to gen_gvec_fn_arg_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 035/117] target/arm: More use of gen_gvec_fn_arg_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 036/117] target/arm: Use TRANS_FEAT for gen_gvec_fn_arg_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 037/117] target/arm: Use TRANS_FEAT for do_sve2_fn_zzz Peter Maydell
2022-05-30 16:05 ` [PULL 038/117] target/arm: Use TRANS_FEAT for RAX1 Peter Maydell
2022-05-30 16:05 ` [PULL 039/117] target/arm: Introduce gen_gvec_fn_arg_zzzz Peter Maydell
2022-05-30 16:05 ` [PULL 040/117] target/arm: Use TRANS_FEAT for do_sve2_zzzz_fn Peter Maydell
2022-05-30 16:05 ` [PULL 041/117] target/arm: Introduce gen_gvec_fn_zzi Peter Maydell
2022-05-30 16:05 ` [PULL 042/117] target/arm: Use TRANS_FEAT for do_zz_dbm Peter Maydell
2022-05-30 16:05 ` [PULL 043/117] target/arm: Hoist sve access check through do_sel_z Peter Maydell
2022-05-30 16:05 ` [PULL 044/117] target/arm: Introduce gen_gvec_fn_arg_zzi Peter Maydell
2022-05-30 16:05 ` [PULL 045/117] target/arm: Use TRANS_FEAT for do_sve2_fn2i Peter Maydell
2022-05-30 16:05 ` [PULL 046/117] target/arm: Use TRANS_FEAT for do_vpz_ool Peter Maydell
2022-05-30 16:05 ` [PULL 047/117] target/arm: Use TRANS_FEAT for do_shift_imm Peter Maydell
2022-05-30 16:05 ` [PULL 048/117] target/arm: Introduce do_shift_zpzi Peter Maydell
2022-05-30 16:06 ` [PULL 049/117] target/arm: Use TRANS_FEAT for do_shift_zpzi Peter Maydell
2022-05-30 16:06 ` [PULL 050/117] target/arm: Use TRANS_FEAT for do_zpzzz_ool Peter Maydell
2022-05-30 16:06 ` [PULL 051/117] target/arm: Move sve check into do_index Peter Maydell
2022-05-30 16:06 ` [PULL 052/117] target/arm: Use TRANS_FEAT for do_index Peter Maydell
2022-05-30 16:06 ` [PULL 053/117] target/arm: Use TRANS_FEAT for do_adr Peter Maydell
2022-05-30 16:06 ` [PULL 054/117] target/arm: Use TRANS_FEAT for do_predset Peter Maydell
2022-05-30 16:06 ` [PULL 055/117] target/arm: Use TRANS_FEAT for RDFFR, WRFFR Peter Maydell
2022-05-30 16:06 ` [PULL 056/117] target/arm: Use TRANS_FEAT for do_pfirst_pnext Peter Maydell
2022-05-30 16:06 ` [PULL 057/117] target/arm: Use TRANS_FEAT for do_EXT Peter Maydell
2022-05-30 16:06 ` [PULL 058/117] target/arm: Use TRANS_FEAT for do_perm_pred3 Peter Maydell
2022-05-30 16:06 ` [PULL 059/117] target/arm: Use TRANS_FEAT for do_perm_pred2 Peter Maydell
2022-05-30 16:06 ` [PULL 060/117] target/arm: Move sve zip high_ofs into simd_data Peter Maydell
2022-05-30 16:06 ` [PULL 061/117] target/arm: Use gen_gvec_ool_arg_zzz for do_zip, do_zip_q Peter Maydell
2022-05-30 16:06 ` [PULL 062/117] target/arm: Use TRANS_FEAT " Peter Maydell
2022-05-30 16:06 ` [PULL 063/117] target/arm: Use TRANS_FEAT for do_clast_vector Peter Maydell
2022-05-30 16:06 ` [PULL 064/117] target/arm: Use TRANS_FEAT for do_clast_fp Peter Maydell
2022-05-30 16:06 ` [PULL 065/117] target/arm: Use TRANS_FEAT for do_clast_general Peter Maydell
2022-05-30 16:06 ` [PULL 066/117] target/arm: Use TRANS_FEAT for do_last_fp Peter Maydell
2022-05-30 16:06 ` [PULL 067/117] target/arm: Use TRANS_FEAT for do_last_general Peter Maydell
2022-05-30 16:06 ` [PULL 068/117] target/arm: Use TRANS_FEAT for SPLICE Peter Maydell
2022-05-30 16:06 ` [PULL 069/117] target/arm: Use TRANS_FEAT for do_ppzz_flags Peter Maydell
2022-05-30 16:06 ` [PULL 070/117] target/arm: Use TRANS_FEAT for do_sve2_ppzz_flags Peter Maydell
2022-05-30 16:06 ` [PULL 071/117] target/arm: Use TRANS_FEAT for do_ppzi_flags Peter Maydell
2022-05-30 16:06 ` [PULL 072/117] target/arm: Use TRANS_FEAT for do_brk2, do_brk3 Peter Maydell
2022-05-30 16:06 ` [PULL 073/117] target/arm: Use TRANS_FEAT for MUL_zzi Peter Maydell
2022-05-30 16:06 ` [PULL 074/117] target/arm: Reject dup_i w/ shifted byte early Peter Maydell
2022-05-30 16:06 ` [PULL 075/117] target/arm: Reject add/sub " Peter Maydell
2022-05-30 16:06 ` [PULL 076/117] target/arm: Reject copy " Peter Maydell
2022-05-30 16:06 ` [PULL 077/117] target/arm: Use TRANS_FEAT for ADD_zzi Peter Maydell
2022-05-30 16:06 ` [PULL 078/117] target/arm: Use TRANS_FEAT for do_zzi_sat Peter Maydell
2022-05-30 16:06 ` [PULL 079/117] target/arm: Use TRANS_FEAT for do_zzi_ool Peter Maydell
2022-05-30 16:06 ` [PULL 080/117] target/arm: Introduce gen_gvec_{ptr,fpst}_zzzz Peter Maydell
2022-05-30 16:06 ` [PULL 081/117] target/arm: Use TRANS_FEAT for FMMLA Peter Maydell
2022-05-30 16:06 ` [PULL 082/117] target/arm: Move sve check into gen_gvec_fn_ppp Peter Maydell
2022-05-30 16:06 ` [PULL 083/117] target/arm: Implement NOT (prediates) alias Peter Maydell
2022-05-30 16:06 ` [PULL 084/117] target/arm: Use TRANS_FEAT for SEL_zpzz Peter Maydell
2022-05-30 16:06 ` [PULL 085/117] target/arm: Use TRANS_FEAT for MOVPRFX Peter Maydell
2022-05-30 16:06 ` [PULL 086/117] target/arm: Use TRANS_FEAT for FMLA Peter Maydell
2022-05-30 16:06 ` [PULL 087/117] target/arm: Use TRANS_FEAT for BFMLA Peter Maydell
2022-05-30 16:06 ` [PULL 088/117] target/arm: Rename do_zzz_fp to gen_gvec_ool_fpst_arg_zzz Peter Maydell
2022-05-30 16:06 ` [PULL 089/117] target/arm: Use TRANS_FEAT for DO_FP3 Peter Maydell
2022-05-30 16:06 ` [PULL 090/117] target/arm: Use TRANS_FEAT for FMUL_zzx Peter Maydell
2022-05-30 16:06 ` [PULL 091/117] target/arm: Use TRANS_FEAT for FTMAD Peter Maydell
2022-05-30 16:06 ` [PULL 092/117] target/arm: Move null function and sve check into do_reduce Peter Maydell
2022-05-30 16:06 ` [PULL 093/117] target/arm: Use TRANS_FEAT for do_reduce Peter Maydell
2022-05-30 16:06 ` [PULL 094/117] target/arm: Use TRANS_FEAT for FRECPE, FRSQRTE Peter Maydell
2022-05-30 16:06 ` [PULL 095/117] target/arm: Expand frint_fns for MO_8 Peter Maydell
2022-05-30 16:06 ` [PULL 096/117] target/arm: Rename do_zpz_ptr to gen_gvec_ool_fpst_arg_zpz Peter Maydell
2022-05-30 16:06 ` [PULL 097/117] target/arm: Move null function and sve check into do_frint_mode Peter Maydell
2022-05-30 16:06 ` [PULL 098/117] target/arm: Use TRANS_FEAT for do_frint_mode Peter Maydell
2022-05-30 16:06 ` [PULL 099/117] target/arm: Use TRANS_FEAT for FLOGB Peter Maydell
2022-05-30 19:39 ` [PULL 000/117] target-arm queue Richard Henderson
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=20220530160708.726466-15-peter.maydell@linaro.org \
--to=peter.maydell@linaro.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).