On 17 February 2018 at 18:22, Richard Henderson
<[email protected]> wrote:
> Signed-off-by: Richard Henderson <[email protected]>
> ---
> 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 <[email protected]>
thanks
-- PMM