mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-16 16:00:30 +02:00
On the PSP, zeros and denormals all compare equal, a tie returns the second operand, and the result keeps its bits (cpu/vfpu/minmax_zero, minmax_tie, fcr31). The interpreter got the ties and NaNs right but compared denormals as numbers, and each JIT had its own fast path with host min/max, which returned the first operand on a tie and flushed or not depending on the host's mode. All cores now compare by vfpu_minmax_key(), an integer key that is 0 for a zero exponent and orders the rest by sign and magnitude, and select the operand by it, without branching on NaN. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>