diff mbox series

[1/2] tcg/aarch64: Fix tcg_out_cmp for test comparisons

Message ID 20240309175102.726332-2-richard.henderson@linaro.org
State Superseded
Headers show
Series tcg/aarch64: Fixes for test comparisons | expand

Commit Message

Richard Henderson March 9, 2024, 5:51 p.m. UTC
Pass the type to tcg_out_logicali; remove the assert, duplicated
at the start of tcg_out_logicali.

Cc: qemu-stable@nongnu.org
Fixes: 339adf2f38e ("tcg/aarch64: Support TCG_COND_TST{EQ,NE}")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 tcg/aarch64/tcg-target.c.inc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Philippe Mathieu-Daudé March 9, 2024, 5:57 p.m. UTC | #1
On 9/3/24 18:51, Richard Henderson wrote:
> Pass the type to tcg_out_logicali; remove the assert, duplicated
> at the start of tcg_out_logicali.
> 
> Cc: qemu-stable@nongnu.org
> Fixes: 339adf2f38e ("tcg/aarch64: Support TCG_COND_TST{EQ,NE}")

Oops, thanks.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   tcg/aarch64/tcg-target.c.inc | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
Michael Tokarev March 10, 2024, 3:48 p.m. UTC | #2
09.03.2024 20:51, Richard Henderson wrote:
> Pass the type to tcg_out_logicali; remove the assert, duplicated
> at the start of tcg_out_logicali.
> 
> Cc: qemu-stable@nongnu.org
> Fixes: 339adf2f38e ("tcg/aarch64: Support TCG_COND_TST{EQ,NE}")
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

v8.2.0-1139-g339adf2f38 isn't in any released version and hasn't been picked
up for stable either, so neither of the two changes has to go to stable.
Still, thank you for remembering to Cc qemu-stable@, - it is better to have
extra there and reject what's not needed than to miss something important.

Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>

> ---
>   tcg/aarch64/tcg-target.c.inc | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/tcg/aarch64/tcg-target.c.inc b/tcg/aarch64/tcg-target.c.inc
> index dec8ecc1b6..38446c167e 100644
> --- a/tcg/aarch64/tcg-target.c.inc
> +++ b/tcg/aarch64/tcg-target.c.inc
> @@ -1388,8 +1388,7 @@ static void tcg_out_cmp(TCGContext *s, TCGType ext, TCGCond cond, TCGReg a,
>           if (!const_b) {
>               tcg_out_insn(s, 3510, ANDS, ext, TCG_REG_XZR, a, b);
>           } else {
> -            tcg_debug_assert(is_limm(b));
> -            tcg_out_logicali(s, I3404_ANDSI, 0, TCG_REG_XZR, a, b);
> +            tcg_out_logicali(s, I3404_ANDSI, ext, TCG_REG_XZR, a, b);
>           }
>       } else {
>           if (!const_b) {
diff mbox series

Patch

diff --git a/tcg/aarch64/tcg-target.c.inc b/tcg/aarch64/tcg-target.c.inc
index dec8ecc1b6..38446c167e 100644
--- a/tcg/aarch64/tcg-target.c.inc
+++ b/tcg/aarch64/tcg-target.c.inc
@@ -1388,8 +1388,7 @@  static void tcg_out_cmp(TCGContext *s, TCGType ext, TCGCond cond, TCGReg a,
         if (!const_b) {
             tcg_out_insn(s, 3510, ANDS, ext, TCG_REG_XZR, a, b);
         } else {
-            tcg_debug_assert(is_limm(b));
-            tcg_out_logicali(s, I3404_ANDSI, 0, TCG_REG_XZR, a, b);
+            tcg_out_logicali(s, I3404_ANDSI, ext, TCG_REG_XZR, a, b);
         }
     } else {
         if (!const_b) {