On Sun, 22 Jun 2025 at 00:52, Richard Henderson
<richard.hender...@linaro.org> wrote:
>
> Prepare for MOVA array to/from vector with multiple registers
> by adding a div_len parameter, herein always 1.
>
> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> ---
>  target/arm/tcg/translate-sme.c | 40 ++++++++++++++++++----------------
>  1 file changed, 21 insertions(+), 19 deletions(-)


> @@ -234,7 +241,7 @@ static bool do_mova_tile_n(DisasContext *s, arg_mova_t 
> *a, int n, bool to_vec)
>          for (int i = 0; i < n; ++i) {
>              TCGv_ptr t_zr = vec_full_reg_ptr(s, a->zr * n + i);
>              t_za = get_tile_rowcol(s, a->esz, a->rs, a->za,
> -                                   a->off * n + i, a->v);
> +                                   a->off * n + i, 1, a->v);
>              if (to_vec) {
>                  zc_fns[a->esz](t_zr, t_za, t_desc);
>              } else {
> @@ -243,13 +250,13 @@ static bool do_mova_tile_n(DisasContext *s, arg_mova_t 
> *a, int n, bool to_vec)
>          }
>      } else {
>          for (int i = 0; i < n; ++i) {
> -            int zr_ofs = vec_full_reg_offset(s, a->zr * n + i);
> +            int o_zr = vec_full_reg_offset(s, a->zr * n + i);

This variable rename should be squashed into the previous patch
where we added this function.

>              t_za = get_tile_rowcol(s, a->esz, a->rs, a->za,
> -                                   a->off * n + i, a->v);
> +                                   a->off * n + i, 1, a->v);
>              if (to_vec) {
> -                tcg_gen_gvec_mov_var(MO_8, tcg_env, zr_ofs, t_za, 0, svl, 
> svl);
> +                tcg_gen_gvec_mov_var(MO_8, tcg_env, o_zr, t_za, 0, svl, svl);
>              } else {
> -                tcg_gen_gvec_mov_var(MO_8, t_za, 0, tcg_env, zr_ofs, svl, 
> svl);
> +                tcg_gen_gvec_mov_var(MO_8, t_za, 0, tcg_env, o_zr, svl, svl);
>              }
>          }
>      }

Otherwise

Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>

thanks
-- PMM

Reply via email to