mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-08 01:20:33 +01:00
nir/opt_algebraic: optimize some post peephole select patterns
Foz-DB GFX1201: Totals from 208 (0.26% of 80287) affected shaders: Instrs: 427684 -> 426834 (-0.20%); split: -0.22%, +0.02% CodeSize: 2232616 -> 2228816 (-0.17%); split: -0.20%, +0.03% Latency: 3993934 -> 3992726 (-0.03%); split: -0.04%, +0.01% InvThroughput: 569055 -> 568622 (-0.08%); split: -0.09%, +0.01% SClause: 12932 -> 12927 (-0.04%) Copies: 22567 -> 22604 (+0.16%); split: -0.47%, +0.63% Branches: 7671 -> 7658 (-0.17%) VALU: 222047 -> 221625 (-0.19%) SALU: 83954 -> 83815 (-0.17%); split: -0.29%, +0.13% Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36938>
This commit is contained in:
parent
395893e16b
commit
3b06824e4c
1 changed files with 7 additions and 0 deletions
|
|
@ -731,6 +731,13 @@ optimizations.extend([
|
|||
# 0 < fsat(NaN) -> 0 < 0 -> false, and 0 < NaN -> false.
|
||||
(('flt', 0.0, ('fsat(is_used_once)', a)), ('flt', 0.0, a)),
|
||||
|
||||
(('bcsel(is_only_used_as_float)', ('feq', a, 'b(is_not_zero)'), b, a), a),
|
||||
(('bcsel(is_only_used_as_float)', ('fneu', a, 'b(is_not_zero)'), a, b), a),
|
||||
(('bcsel', ignore_exact('feq', a, 0), 0, ('fsat', ('fmul', a, 'b(is_a_number)'))), ('fsat!', ('fmul', a, b))),
|
||||
(('bcsel', ignore_exact('fneu', a, 0), ('fsat', ('fmul', a, 'b(is_a_number)')), 0), ('fsat!', ('fmul', a, b))),
|
||||
(('bcsel', ignore_exact('feq', a, 0), b, ('fadd', a, 'b(is_not_zero)')), ('fadd', a, b)),
|
||||
(('bcsel', ignore_exact('fneu', a, 0), ('fadd', a, 'b(is_not_zero)'), b), ('fadd', a, b)),
|
||||
|
||||
# 0.0 >= b2f(a)
|
||||
# b2f(a) <= 0.0
|
||||
# b2f(a) == 0.0 because b2f(a) can only be 0 or 1
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue