On 2/1/25 08:39, Peter Maydell wrote:
The Armv8.7 FEAT_AFP feature defines three new control bits in
the FPCR:
  * FPCR.AH: "alternate floating point mode"; this changes floating
    point behaviour in a variety of ways, including:
     - the sign of a default NaN is 1, not 0
     - if FPCR.FZ is also 1, denormals detected after rounding
       with an unbounded exponent has been applied are flushed to zero
     - FPCR.FZ does not cause denormalized inputs to be flushed to zero
     - miscellaneous other corner-case behaviour changes
  * FPCR.FIZ: flush denormalized numbers to zero on input for
    most instructions
  * FPCR.NEP: makes scalar SIMD operations merge the result with
    higher vector elements in one of the source registers, instead
    of zeroing the higher elements of the destination

This commit defines the new bits in the FPCR, and allows them to be
read or written when FEAT_AFP is implemented.  Actual behaviour
changes will be implemented in subsequent commits.

Note that these are the first FPCR bits which don't appear in the
AArch32 FPSCR view of the register, and which share bit positions
with FPSR bits.

Signed-off-by: Peter Maydell<peter.mayd...@linaro.org>
---
  target/arm/cpu-features.h |  5 +++++
  target/arm/cpu.h          |  3 +++
  target/arm/vfp_helper.c   | 11 ++++++++---
  3 files changed, 16 insertions(+), 3 deletions(-)

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

r~

Reply via email to