target/alpha: Use TCG_COND_TST{EQ,NE} for CMOVLB{C,S}
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 25 Oct 2023 06:00:25 +0000 (23:00 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Sat, 3 Feb 2024 23:43:50 +0000 (23:43 +0000)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/alpha/translate.c

index 566adc4cd6524b159395c130b231ddebe99e1c7b..220eda2137c34eec09308689c3ab9762051adc05 100644 (file)
@@ -1676,16 +1676,12 @@ static DisasJumpType translate_one(DisasContext *ctx, uint32_t insn)
             break;
         case 0x14:
             /* CMOVLBS */
-            tmp = tcg_temp_new();
-            tcg_gen_andi_i64(tmp, va, 1);
-            tcg_gen_movcond_i64(TCG_COND_NE, vc, tmp, load_zero(ctx),
+            tcg_gen_movcond_i64(TCG_COND_TSTNE, vc, va, tcg_constant_i64(1),
                                 vb, load_gpr(ctx, rc));
             break;
         case 0x16:
             /* CMOVLBC */
-            tmp = tcg_temp_new();
-            tcg_gen_andi_i64(tmp, va, 1);
-            tcg_gen_movcond_i64(TCG_COND_EQ, vc, tmp, load_zero(ctx),
+            tcg_gen_movcond_i64(TCG_COND_TSTEQ, vc, va, tcg_constant_i64(1),
                                 vb, load_gpr(ctx, rc));
             break;
         case 0x20: