nir/algebraic: optimize fmul(x, bcsel(c, -1.0, 1.0)) -> bcsel(c, -x, x)
Totals from affected shaders: (VEGA) SGPRS: 545712 -> 545712 (0.00 %) VGPRS: 413092 -> 413116 (0.01 %) Spilled SGPRs: 10616 -> 10616 (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: 37031684 -> 36984248 (-0.13 %) bytes LDS: 427 -> 427 (0.00 %) blocks Max Waves: 54350 -> 54340 (-0.02 %) 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
56ec814b56
commit
9d22c5ed71
@@ -1134,6 +1134,9 @@ optimizations.extend([
|
||||
|
||||
(('bcsel', ('ine', a, -1), ('ifind_msb', a), -1), ('ifind_msb', a)),
|
||||
|
||||
(('~fmul', ('bcsel(is_used_once)', c, -1.0, 1.0), b), ('bcsel', c, ('fneg', b), b)),
|
||||
(('~fmul', ('bcsel(is_used_once)', c, 1.0, -1.0), b), ('bcsel', c, b, ('fneg', b))),
|
||||
|
||||
(('fmin3@64', a, b, c), ('fmin@64', a, ('fmin@64', b, c))),
|
||||
(('fmax3@64', a, b, c), ('fmax@64', a, ('fmax@64', b, c))),
|
||||
(('fmed3@64', a, b, c), ('fmax@64', ('fmin@64', ('fmax@64', a, b), c), ('fmin@64', a, b))),
|
||||
|
Reference in New Issue
Block a user