On 17 February 2018 at 18:22, Richard Henderson <richard.hender...@linaro.org> wrote: > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > target/arm/helper-sve.h | 11 ++ > target/arm/sve_helper.c | 136 ++++++++++++++++++++++ > target/arm/translate-sve.c | 274 > ++++++++++++++++++++++++++++++++++++++++++++- > target/arm/sve.decode | 30 ++++- > 4 files changed, 448 insertions(+), 3 deletions(-) >
> @@ -127,7 +132,9 @@ static void do_vector3_z(DisasContext *s, GVecGen3Fn > *gvec_fn, > /* Invoke a vector move on two Zregs. */ > static void do_mov_z(DisasContext *s, int rd, int rn) > { > - do_vector2_z(s, tcg_gen_gvec_mov, 0, rd, rn); > + if (rd != rn) { > + do_vector2_z(s, tcg_gen_gvec_mov, 0, rd, rn); > + } > } > > /* Initialize a Zreg with replications of a 64-bit immediate. */ > @@ -168,7 +175,9 @@ static void do_vecop4_p(DisasContext *s, const GVecGen4 > *gvec_op, > /* Invoke a vector move on two Pregs. */ > static void do_mov_p(DisasContext *s, int rd, int rn) > { > - do_vector2_p(s, tcg_gen_gvec_mov, 0, rd, rn); > + if (rd != rn) { > + do_vector2_p(s, tcg_gen_gvec_mov, 0, rd, rn); > + } > } These should probably be squashed into an earlier patch. Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM