On 1/24/25 08:27, Peter Maydell wrote:
When FPCR.AH is set, various behaviours of AArch64 floating point
operations which are controlled by softfloat config settings change:
  * tininess and ftz detection before/after rounding
  * NaN propagation order
  * result of 0 * Inf + NaN
  * default NaN value

When the guest changes the value of the AH bit, switch these config
settings on the fp_status_a64 and fp_status_f16_a64 float_status
fields.

This requires us to make the arm_set_default_fp_behaviours() function
global, since we now need to call it from cpu.c and vfp_helper.c; we
move it to vfp_helper.c so it can be next to the new
arm_set_ah_fp_behaviours().

Signed-off-by: Peter Maydell<peter.mayd...@linaro.org>
---
  target/arm/internals.h  |  4 +++
  target/arm/cpu.c        | 23 -----------------
  target/arm/vfp_helper.c | 56 +++++++++++++++++++++++++++++++++++++++++
  3 files changed, 60 insertions(+), 23 deletions(-)

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

r~

Reply via email to