mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 13:00:09 +01:00
nir/range_analysis: Fix errors in fmin and fmax tables
fmin(x, 0.0) must at least be le_zero, and fmax(x, 0.0) be at least be ge_zero. shader-db: All Intel platforms had similar results. (Meteor Lake shown) total instructions in shared programs: 19733226 -> 19731919 (<.01%) instructions in affected programs: 196415 -> 195108 (-0.67%) helped: 615 / HURT: 0 total cycles in shared programs: 916277979 -> 916265288 (<.01%) cycles in affected programs: 2482535 -> 2469844 (-0.51%) helped: 346 / HURT: 178 LOST: 2 GAINED: 1 fossil-db: All Intel platforms had similar results. (Meteor Lake shown) Totals: Instrs: 151531355 -> 151519575 (-0.01%); split: -0.01%, +0.00% Cycle count: 17209372399 -> 17208402120 (-0.01%); split: -0.01%, +0.01% Max live registers: 32016490 -> 32016514 (+0.00%) Totals from 4307 (0.68% of 630198) affected shaders: Instrs: 4179418 -> 4167638 (-0.28%); split: -0.28%, +0.00% Cycle count: 1063492212 -> 1062521933 (-0.09%); split: -0.24%, +0.15% Max live registers: 359250 -> 359274 (+0.01%) Reviewed-by: Georg Lehmann <dadschoorse@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30158>
This commit is contained in:
parent
72c182f873
commit
92befad89f
1 changed files with 6 additions and 6 deletions
|
|
@ -899,13 +899,13 @@ process_fp_query(struct analysis_state *state, struct analysis_query *aq, uint32
|
|||
*/
|
||||
static const enum ssa_ranges table[last_range + 1][last_range + 1] = {
|
||||
/* left\right unknown lt_zero le_zero gt_zero ge_zero ne_zero eq_zero */
|
||||
/* unknown */ { _______, _______, _______, gt_zero, ge_zero, _______, _______ },
|
||||
/* unknown */ { _______, _______, _______, gt_zero, ge_zero, _______, ge_zero },
|
||||
/* lt_zero */ { _______, lt_zero, le_zero, gt_zero, ge_zero, ne_zero, eq_zero },
|
||||
/* le_zero */ { _______, le_zero, le_zero, gt_zero, ge_zero, _______, eq_zero },
|
||||
/* gt_zero */ { gt_zero, gt_zero, gt_zero, gt_zero, gt_zero, gt_zero, gt_zero },
|
||||
/* ge_zero */ { ge_zero, ge_zero, ge_zero, gt_zero, ge_zero, ge_zero, ge_zero },
|
||||
/* ne_zero */ { _______, ne_zero, _______, gt_zero, ge_zero, ne_zero, _______ },
|
||||
/* eq_zero */ { _______, eq_zero, eq_zero, gt_zero, ge_zero, _______, eq_zero }
|
||||
/* ne_zero */ { _______, ne_zero, _______, gt_zero, ge_zero, ne_zero, ge_zero },
|
||||
/* eq_zero */ { ge_zero, eq_zero, eq_zero, gt_zero, ge_zero, ge_zero, eq_zero }
|
||||
};
|
||||
|
||||
/* Treat fmax as commutative. */
|
||||
|
|
@ -983,13 +983,13 @@ process_fp_query(struct analysis_state *state, struct analysis_query *aq, uint32
|
|||
*/
|
||||
static const enum ssa_ranges table[last_range + 1][last_range + 1] = {
|
||||
/* left\right unknown lt_zero le_zero gt_zero ge_zero ne_zero eq_zero */
|
||||
/* unknown */ { _______, lt_zero, le_zero, _______, _______, _______, _______ },
|
||||
/* unknown */ { _______, lt_zero, le_zero, _______, _______, _______, le_zero },
|
||||
/* lt_zero */ { lt_zero, lt_zero, lt_zero, lt_zero, lt_zero, lt_zero, lt_zero },
|
||||
/* le_zero */ { le_zero, lt_zero, le_zero, le_zero, le_zero, le_zero, le_zero },
|
||||
/* gt_zero */ { _______, lt_zero, le_zero, gt_zero, ge_zero, ne_zero, eq_zero },
|
||||
/* ge_zero */ { _______, lt_zero, le_zero, ge_zero, ge_zero, _______, eq_zero },
|
||||
/* ne_zero */ { _______, lt_zero, le_zero, ne_zero, _______, ne_zero, _______ },
|
||||
/* eq_zero */ { _______, lt_zero, le_zero, eq_zero, eq_zero, _______, eq_zero }
|
||||
/* ne_zero */ { _______, lt_zero, le_zero, ne_zero, _______, ne_zero, le_zero },
|
||||
/* eq_zero */ { le_zero, lt_zero, le_zero, eq_zero, eq_zero, le_zero, eq_zero }
|
||||
};
|
||||
|
||||
/* Treat fmin as commutative. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue