AnyPS5/core
Karan Vora 809178603f perf(shader): skip the tiny product check that a constant factor settles
With f32 denormals flushed, every f32 multiply and fma checks whether the
exact product is below 2^-126 (#1850): two exponent extracts, a 32-bit
significand multiply-high and a chain of compares and selects. When a
factor is a literal or inline constant, its exponent settles the check
during translation:

- a factor that is zero (after the input flush), infinite, NaN or at least
  1 in magnitude never gives a tiny product, so the check is not emitted;
- a power-of-two factor never carries out of the significand product, so
  the multiply-high is not emitted.

Constant sources are folded with their abs, neg and denormal flush, so the
factor reaches the check as a constant.
2026-10-09 04:39:22 -04:00
..
Decoder feat(jpegenc): honor the encode restart interval 2026-10-06 14:16:07 +02:00
libs perf(shader): skip the tiny product check that a constant factor settles 2026-10-09 04:39:22 -04:00
relinker Merge pull request #1774 from 011010/test/guest-intel-trampolines-e2e 2026-10-09 21:04:06 +13:00
shader/recompiler perf(shader): skip the tiny product check that a constant factor settles 2026-10-09 04:39:22 -04:00