nir/algebraic: add some more unop + bcsel optimizations
Totals from affected shaders: (VEGA) SGPRS: 284392 -> 284400 (0.00 %) VGPRS: 261080 -> 261076 (-0.00 %) Spilled SGPRs: 105 -> 105 (0.00 %) Spilled VGPRs: 0 -> 0 (0.00 %) Private memory VGPRs: 0 -> 0 (0.00 %) Scratch size: 0 -> 0 (0.00 %) dwords per thread Code Size: 24698596 -> 24277788 (-1.70 %) bytes LDS: 196 -> 196 (0.00 %) blocks Max Waves: 10101 -> 10105 (0.04 %) Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830>
This commit is contained in:

committed by
Marge Bot

parent
2fca183910
commit
56ec814b56
@@ -1779,10 +1779,14 @@ for op in ['fpow']:
|
||||
(('bcsel', a, (op, b, c), (op + '(is_used_once)', d, c)), (op, ('bcsel', a, b, d), c)),
|
||||
]
|
||||
|
||||
for op in ['frcp', 'frsq', 'fsqrt', 'fexp2', 'flog2', 'fsign', 'fsin', 'fcos']:
|
||||
for op in ['frcp', 'frsq', 'fsqrt', 'fexp2', 'flog2', 'fsign', 'fsin', 'fcos', 'fneg', 'fabs', 'fsign']:
|
||||
optimizations += [
|
||||
(('bcsel', a, (op + '(is_used_once)', b), (op, c)), (op, ('bcsel', a, b, c))),
|
||||
(('bcsel', a, (op, b), (op + '(is_used_once)', c)), (op, ('bcsel', a, b, c))),
|
||||
(('bcsel', c, (op + '(is_used_once)', a), (op + '(is_used_once)', b)), (op, ('bcsel', c, a, b))),
|
||||
]
|
||||
|
||||
for op in ['ineg', 'iabs', 'inot', 'isign']:
|
||||
optimizations += [
|
||||
((op, ('bcsel', c, '#a', '#b')), ('bcsel', c, (op, a), (op, b))),
|
||||
]
|
||||
|
||||
# This section contains optimizations to propagate downsizing conversions of
|
||||
|
Reference in New Issue
Block a user