nir/opt_fp_math_ctrl: ignore ffract input sign of zero

ffract(-0.0) = fract(+0.0) = +0.0

Foz-DB Navi48:
Totals from 23 (0.01% of 205040) affected shaders:
Instrs: 12036 -> 11836 (-1.66%)
CodeSize: 58392 -> 57716 (-1.16%); split: -1.19%, +0.03%
Latency: 57532 -> 57204 (-0.57%); split: -0.61%, +0.04%
InvThroughput: 10399 -> 10217 (-1.75%)
VClause: 72 -> 70 (-2.78%)
Copies: 324 -> 335 (+3.40%)
PreVGPRs: 640 -> 646 (+0.94%)
VALU: 8561 -> 8364 (-2.30%)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
This commit is contained in:
Georg Lehmann 2026-03-25 13:31:21 +01:00 committed by Marge Bot
parent 18a63522d6
commit d2be2fd4c1

View file

@ -120,6 +120,7 @@ opt_alu_fp_math_ctrl(nir_alu_instr *alu, struct opt_fp_ctrl_state *state)
case nir_op_fcos:
case nir_op_fcos_amd:
case nir_op_fmulz:
case nir_op_ffract:
break;
case nir_op_fmin: {
bool had_neg_zero = false;