On 1/24/25 08:28, Peter Maydell wrote:
+if (neg_real && !(fpcr_ah && float16_is_any_nan(e1))) {
+e1 ^= neg_real;
+}
+if (neg_imag && !(fpcr_ah && float16_is_any_nan(e3))) {
+e3 ^= neg_imag;
+}
Drop the neg_real/neg_
The negation steps in FCADD must honour FPCR.AH's "don't change the
sign of a NaN" semantics. Implement this in the same way we did for
the base ASIMD FCADD, by encoding FPCR.AH into the SIMD data field
passed to the helper and using that to decide whether to negate the
values.
Signed-off-by: Pet