On 17 February 2018 at 18:23, Richard Henderson
<richard.hender...@linaro.org> wrote:
> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> ---
>  target/arm/helper-sve.h    |  29 +++++++
>  target/arm/sve_helper.c    | 211 
> +++++++++++++++++++++++++++++++++++++++++++++
>  target/arm/translate-sve.c |  68 ++++++++++++++-
>  target/arm/sve.decode      |  38 ++++++++
>  4 files changed, 343 insertions(+), 3 deletions(-)

> diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
> index aa8bfd2ae7..fda9a56fd5 100644
> --- a/target/arm/translate-sve.c
> +++ b/target/arm/translate-sve.c
> @@ -3320,7 +3320,6 @@ static void do_mem_zpa(DisasContext *s, int zt, int pg, 
> TCGv_i64 addr,
>
>      tcg_temp_free_ptr(t_pg);
>      tcg_temp_free_i32(desc);
> -    tcg_temp_free_i64(addr);
>  }
>
>  static void do_ld_zpa(DisasContext *s, int zt, int pg,
> @@ -3368,7 +3367,7 @@ static void trans_LD_zprr(DisasContext *s, 
> arg_rprr_load *a, uint32_t insn)
>          return;
>      }
>
> -    addr = tcg_temp_new_i64();
> +    addr = new_tmp_a64(s);
>      tcg_gen_muli_i64(addr, cpu_reg(s, a->rm),
>                       (a->nreg + 1) << dtype_msz(a->dtype));
>      tcg_gen_add_i64(addr, addr, cpu_reg_sp(s, a->rn));
> @@ -3379,7 +3378,7 @@ static void trans_LD_zpri(DisasContext *s, 
> arg_rpri_load *a, uint32_t insn)
>  {
>      unsigned vsz = vec_full_reg_size(s);
>      unsigned elements = vsz >> dtype_esz[a->dtype];
> -    TCGv_i64 addr = tcg_temp_new_i64();
> +    TCGv_i64 addr = new_tmp_a64(s);
>
>      tcg_gen_addi_i64(addr, cpu_reg_sp(s, a->rn),
>                       (a->imm * elements * (a->nreg + 1))

These changes to the load functions look like they should have been
in the previous patch ?

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

thanks
-- PMM

Reply via email to