qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] target/ppc: Fix xvcmp* clearing FI bit


From: Daniel Henrique Barboza
Subject: Re: [PATCH] target/ppc: Fix xvcmp* clearing FI bit
Date: Fri, 14 Oct 2022 07:25:07 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1

Queued in gitlab.com/danielhb/qemu/tree/ppc-next. Thanks,


Daniel

On 10/5/22 09:15, Víctor Colombo wrote:
Vector instructions in general are not supposed to change the FI bit.
However, xvcmp* instructions are calling gen_helper_float_check_status,
which is leading to a cleared FI flag where it should be kept
unchanged.
As helper_float_check_status only affects inexact, overflow and
underflow, and the xvcmp* instructions don't change these flags, this
issue can be fixed by removing the call to helper_float_check_status.
By doing this, the FI bit in FPSCR will be preserved as expected.

Fixes: 00084a25adf ("target/ppc: introduce separate VSX_CMP macro for xvcmp* 
instructions")
Signed-off-by: Víctor Colombo <victor.colombo@eldorado.org.br>
---
  target/ppc/translate/vsx-impl.c.inc | 1 -
  1 file changed, 1 deletion(-)

diff --git a/target/ppc/translate/vsx-impl.c.inc 
b/target/ppc/translate/vsx-impl.c.inc
index 7acdbceec4..e6e5c45ffd 100644
--- a/target/ppc/translate/vsx-impl.c.inc
+++ b/target/ppc/translate/vsx-impl.c.inc
@@ -810,7 +810,6 @@ static void gen_##name(DisasContext *ctx)                   
                  \
          gen_helper_##name(ignored, cpu_env, xt, xa, xb);                      
\
          tcg_temp_free_i32(ignored);                                           
\
      }                                                                         
\
-    gen_helper_float_check_status(cpu_env);                                   \
      tcg_temp_free_ptr(xt);                                                    
\
      tcg_temp_free_ptr(xa);                                                    
\
      tcg_temp_free_ptr(xb);                                                    
\



reply via email to

[Prev in Thread] Current Thread [Next in Thread]