Re: [PATCH 19/19] target/ppc: Clear fpstatus flags on VSX_ROUND

2022-09-05 Thread Daniel Henrique Barboza




On 9/1/22 10:17, Víctor Colombo wrote:

Fix xsrdpic and other instructions not clearing the flags and saving
incorrect values to FPSCR.

Signed-off-by: Víctor Colombo 
---


Reviewed-by: Daniel Henrique Barboza 





  target/ppc/fpu_helper.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c
index fd3a966371..be47d73b14 100644
--- a/target/ppc/fpu_helper.c
+++ b/target/ppc/fpu_helper.c
@@ -3172,6 +3172,8 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, 
ppc_vsr_t *xb)   \
  int i; \
  FloatRoundMode curr_rounding_mode; \
 \
+helper_reset_fpstatus(env);\
+   \
  if (rmode != FLOAT_ROUND_CURRENT) {\
  curr_rounding_mode = get_float_rounding_mode(&env->fp_status); \
  set_float_rounding_mode(rmode, &env->fp_status);   \




[PATCH 19/19] target/ppc: Clear fpstatus flags on VSX_ROUND

2022-09-01 Thread Víctor Colombo
Fix xsrdpic and other instructions not clearing the flags and saving
incorrect values to FPSCR.

Signed-off-by: Víctor Colombo 
---
 target/ppc/fpu_helper.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c
index fd3a966371..be47d73b14 100644
--- a/target/ppc/fpu_helper.c
+++ b/target/ppc/fpu_helper.c
@@ -3172,6 +3172,8 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, 
ppc_vsr_t *xb)   \
 int i; \
 FloatRoundMode curr_rounding_mode; \
\
+helper_reset_fpstatus(env);\
+   \
 if (rmode != FLOAT_ROUND_CURRENT) {\
 curr_rounding_mode = get_float_rounding_mode(&env->fp_status); \
 set_float_rounding_mode(rmode, &env->fp_status);   \
-- 
2.25.1