mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 13:30:31 +01:00
nir_opt_algebraic: reassociate fadd into ffma where one factor is a constant
This restriction doesn't really make sense, probably an accident. Foz-DB Navi48: Totals from 2290 (2.00% of 114655) affected shaders: MaxWaves: 57496 -> 57510 (+0.02%); split: +0.06%, -0.03% Instrs: 2817419 -> 2816209 (-0.04%); split: -0.12%, +0.08% CodeSize: 15218816 -> 15220576 (+0.01%); split: -0.09%, +0.10% VGPRs: 147456 -> 147384 (-0.05%); split: -0.07%, +0.02% Latency: 13757114 -> 13751833 (-0.04%); split: -0.13%, +0.09% InvThroughput: 2463343 -> 2462482 (-0.03%); split: -0.07%, +0.04% VClause: 40137 -> 40153 (+0.04%); split: -0.07%, +0.11% SClause: 57351 -> 57385 (+0.06%); split: -0.12%, +0.18% Copies: 135482 -> 136258 (+0.57%); split: -0.22%, +0.79% Branches: 30886 -> 30894 (+0.03%) PreSGPRs: 113470 -> 113462 (-0.01%); split: -0.03%, +0.02% PreVGPRs: 117554 -> 117591 (+0.03%); split: -0.01%, +0.04% VALU: 1682734 -> 1681557 (-0.07%); split: -0.10%, +0.03% SALU: 390685 -> 391301 (+0.16%); split: -0.07%, +0.22% VOPD: 6159 -> 6254 (+1.54%); split: +1.72%, -0.18% Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40138>
This commit is contained in:
parent
b949122908
commit
374cbc17a4
1 changed files with 4 additions and 4 deletions
|
|
@ -2351,10 +2351,10 @@ optimizations.extend([
|
|||
(('imul', '#a', ('imul', 'b(is_not_const)', '#c')), ('imul', ('imul', a, c), b)),
|
||||
(('~fadd', '#a', ('fadd', 'b(is_not_const)', '#c')), ('fadd', ('fadd', a, c), b)),
|
||||
(('~fadd', '#a', ('fneg', ('fadd', 'b(is_not_const)', '#c'))), ('fadd', ('fadd', a, ('fneg', c)), ('fneg', b))),
|
||||
(('~fadd', '#a', ('ffma', 'b(is_not_const)', 'c(is_not_const)', '#d')), ('ffma', b, c, ('fadd', a, d))),
|
||||
(('~fadd', '#a', ('fneg', ('ffma', 'b(is_not_const)', 'c(is_not_const)', '#d'))), ('ffma', ('fneg', b), c, ('fadd', a, ('fneg', d)))),
|
||||
(('~fadd', '#a', ('ffmaz', 'b(is_not_const)', 'c(is_not_const)', '#d')), ('ffmaz', b, c, ('fadd', a, d))),
|
||||
(('~fadd', '#a', ('fneg', ('ffmaz', 'b(is_not_const)', 'c(is_not_const)', '#d'))), ('ffmaz', ('fneg', b), c, ('fadd', a, ('fneg', d)))),
|
||||
(('~fadd', '#a', ('ffma', 'b(is_not_const)', c, '#d')), ('ffma', b, c, ('fadd', a, d))),
|
||||
(('~fadd', '#a', ('fneg', ('ffma', 'b(is_not_const)', c, '#d'))), ('ffma', ('fneg', b), c, ('fadd', a, ('fneg', d)))),
|
||||
(('~fadd', '#a', ('ffmaz', 'b(is_not_const)', c, '#d')), ('ffmaz', b, c, ('fadd', a, d))),
|
||||
(('~fadd', '#a', ('fneg', ('ffmaz', 'b(is_not_const)', c, '#d'))), ('ffmaz', ('fneg', b), c, ('fadd', a, ('fneg', d)))),
|
||||
(('iadd', '#a', ('iadd', 'b(is_not_const)', '#c')), ('iadd', ('iadd', a, c), b)),
|
||||
(('iand', '#a', ('iand', 'b(is_not_const)', '#c')), ('iand', ('iand', a, c), b)),
|
||||
(('ior', '#a', ('ior', 'b(is_not_const)', '#c')), ('ior', ('ior', a, c), b)),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue