qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 07/76] target/arm: Use vfp.fp_status_a64 in A64-only helper f


From: Richard Henderson
Subject: Re: [PATCH 07/76] target/arm: Use vfp.fp_status_a64 in A64-only helper functions
Date: Tue, 28 Jan 2025 07:54:01 -0800
User-agent: Mozilla Thunderbird

On 1/28/25 04:35, Peter Maydell wrote:
On Sat, 25 Jan 2025 at 15:16, Richard Henderson
<richard.henderson@linaro.org> wrote:

On 1/24/25 08:27, Peter Maydell wrote:
@@ -2808,7 +2808,7 @@ bool is_ebf(CPUARMState *env, float_status *statusp, 
float_status *oddstatusp)
        */
       bool ebf = is_a64(env) && env->vfp.fpcr & FPCR_EBF;

-    *statusp = env->vfp.fp_status;
+    *statusp = env->vfp.fp_status_a64;
       set_default_nan_mode(true, statusp);

       if (ebf) {

Is this really correct?  !ebf includes aa32.

Whoops, yes. I'll drop this hunk of the patch and put in this
patch afterwards:

Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Tue Jan 28 11:40:13 2025 +0000

     target/arm: Use fp_status_a64 or fp_status_a32 in is_ebf()

     In is_ebf(), we might be called for A64 or A32, but we have
     the CPUARMState* so we can select fp_status_a64 or
     fp_status_a32 accordingly.

     Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

diff --git a/target/arm/tcg/vec_helper.c b/target/arm/tcg/vec_helper.c
index 011726a72d4..2ba1f7cb32e 100644
--- a/target/arm/tcg/vec_helper.c
+++ b/target/arm/tcg/vec_helper.c
@@ -2808,7 +2808,7 @@ bool is_ebf(CPUARMState *env, float_status
*statusp, float_status *oddstatusp)
       */
      bool ebf = is_a64(env) && env->vfp.fpcr & FPCR_EBF;

-    *statusp = env->vfp.fp_status;
+    *statusp = is_a64(env) ? env->vfp.fp_status_a64 : env->vfp.fp_status_a32;
      set_default_nan_mode(true, statusp);

That'll do.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~



reply via email to

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