target/arm: Add FPCR.NEP to TBFLAGS
authorPeter Maydell <peter.maydell@linaro.org>
Sat, 1 Feb 2025 16:39:18 +0000 (16:39 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 11 Feb 2025 16:22:07 +0000 (16:22 +0000)
commit7025fa996f57f3f767a1e7fe150df21da198118b
tree3ae633550ba71c4fa80fc6ff564a08f0bd0da3aa
parent8a5a2b943e6a96487d5cf000b39aff8a4faf0821
target/arm: Add FPCR.NEP to TBFLAGS

For FEAT_AFP, we want to emit different code when FPCR.NEP is set, so
that instead of zeroing the high elements of a vector register when
we write the output of a scalar operation to it, we instead merge in
those elements from one of the source registers.  Since this affects
the generated code, we need to put FPCR.NEP into the TBFLAGS.

FPCR.NEP is treated as 0 when in streaming SVE mode and FEAT_SME_FA64
is not implemented or not enabled; we can implement this logic in
rebuild_hflags_a64().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
target/arm/cpu.h
target/arm/tcg/hflags.c
target/arm/tcg/translate-a64.c
target/arm/tcg/translate.h