target/ppc: use andc in vrlqmi
authorMatheus Ferst <matheus.ferst@eldorado.org.br>
Sat, 5 Mar 2022 06:16:47 +0000 (07:16 +0100)
committerCédric Le Goater <clg@kaod.org>
Sat, 5 Mar 2022 06:16:47 +0000 (07:16 +0100)
Fixes: 7e5947df6e94 ("target/ppc: implement vrlqmi")
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220304175156.2012315-5-matheus.ferst@eldorado.org.br>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
target/ppc/translate/vmx-impl.c.inc

index 8108e59d4db1efa21997eb220055465a2f2b0f0f..6101bca3fd7a1cbf45bb113cfc32be64525892d2 100644 (file)
@@ -1157,10 +1157,8 @@ static bool do_vector_rotl_quad(DisasContext *ctx, arg_VX *a, bool mask,
         if (insert) {
             get_avr64(n, a->vrt, true);
             get_avr64(vrb, a->vrt, false);
-            tcg_gen_not_i64(ah, ah);
-            tcg_gen_not_i64(al, al);
-            tcg_gen_and_i64(n, n, ah);
-            tcg_gen_and_i64(vrb, vrb, al);
+            tcg_gen_andc_i64(n, n, ah);
+            tcg_gen_andc_i64(vrb, vrb, al);
             tcg_gen_or_i64(t0, t0, n);
             tcg_gen_or_i64(t1, t1, vrb);
         }