ps2autotests ee_fpu/fcr ends with seven flag situations -- SQRT.S of
-1, DIV.S of 0/0, 1/0, an underflowing and an inexact quotient, ADD.S
of a NaN pattern and MUL.S overflowing -- each the console's FCR31
after one op from a CTC1 of zero. They are the only flags any capture
records, and nothing scored them. hwrealfpu now runs each through
FPU.cpp, CTC1 to CFC1, and compares. The underflowing DIV.S leaves
FCR31 at 01000001 on the console; the interpreter before c199233c6
set U and SU there, and this lane fails on it.
fpuflags takes that underflowing DIV.S as a case of its own, so CI,
which has no ps2autotests checkout, checks it too.
The soft-float COP1 interpreter set and cleared O/U and SO/SU after
DIV.S and RSQRT.S, where both recompilers and the interpreter before
the soft model clamp the result without touching them. It now does the
same. ps2f_rsqrt drops Ft's sign before its square root, so RSQRT.S of
a negative non-zero Ft never raised I/SI; the interpreter now raises it
from Ft, as both recompilers do. Results are unchanged: ps2autotests
ee_fpu still scores 36/36 on DIV and 39/39 on RSQRT through FPU.cpp.
tests/fpu fpuflags: DIV.S and RSQRT.S overflow and underflow with the
O/U bits clear and set, and RSQRT.S of -4.0, through the real FPU.cpp.
Self-contained, so CI runs it without a ps2autotests checkout.