]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/arm: Handle FPCR.AH in SVE FTMAD
authorPeter Maydell <peter.maydell@linaro.org>
Sat, 1 Feb 2025 16:39:48 +0000 (16:39 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 11 Feb 2025 16:22:07 +0000 (16:22 +0000)
commit07e6b8d7526380a8a30081354f12f48f39d3464e
tree704c82da27a986a94d204cb88fb2dd185219e3ba
parent6dcd51ccf6815578bd34ea64a33a1eda9cc324e5
target/arm: Handle FPCR.AH in SVE FTMAD

The negation step in the SVE FTMAD insn mustn't negate a NaN when
FPCR.AH is set.  Pass FPCR.AH to the helper via the SIMD data field,
so we can select the correct behaviour.

Because the operand is known to be negative, negating the operand
is the same as taking the absolute value.  Defer this to the muladd
operation via flags, so that it happens after NaN detection, which
is correct for FPCR.AH.

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