nir/opt_algebraic: optimize b2i/b2f comparision with non 0/1 constants
Foz-DB Navi21: Totals from 28 (0.04% of 79789) affected shaders: MaxWaves: 732 -> 728 (-0.55%) Instrs: 23425 -> 22559 (-3.70%) CodeSize: 137740 -> 132292 (-3.96%) VGPRs: 1128 -> 1144 (+1.42%) Latency: 94604 -> 92423 (-2.31%) InvThroughput: 19166 -> 18814 (-1.84%); split: -2.38%, +0.54% VClause: 429 -> 423 (-1.40%) SClause: 937 -> 926 (-1.17%) Copies: 1199 -> 914 (-23.77%); split: -24.52%, +0.75% Branches: 451 -> 421 (-6.65%) PreSGPRs: 1043 -> 996 (-4.51%) PreVGPRs: 992 -> 973 (-1.92%); split: -3.53%, +1.61% VALU: 17566 -> 16865 (-3.99%) SALU: 1254 -> 1157 (-7.74%) VMEM: 619 -> 609 (-1.62%) Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33761>
This commit is contained in:
@@ -3268,6 +3268,8 @@ for b2t, xne, xeq, zero, one in (('b2i', 'ine', 'ieq', 0, 1),
|
||||
((xeq, (b2t, 'a@1'), one), a),
|
||||
((xne, (b2t, 'a@1'), zero), a),
|
||||
((xne, (b2t, 'a@1'), one), ('inot', a)),
|
||||
((xeq, (b2t, 'a@1'), '#b'), ('bcsel', (xeq, b, zero), ('inot', a), ('bcsel', (xeq, b, one), a, False))),
|
||||
((xne, (b2t, 'a@1'), '#b'), ('bcsel', (xeq, b, zero), a, ('bcsel', (xeq, b, one), ('inot', a), True))),
|
||||
]
|
||||
|
||||
# This section contains "late" optimizations that should be run before
|
||||
|
||||
Reference in New Issue
Block a user