mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
nir: Move the compare-with-zero optimizations to the late section
total instructions in shared programs: 4422307 -> 4422363 (0.00%) instructions in affected programs: 4230 -> 4286 (1.32%) helped: 0 HURT: 12 While this does hurt some things, the losses are minor and it prevents the compare-with-zero optimization from fighting with ffma which is much more important. Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
da294f9b2f
commit
e06a3d0282
1 changed files with 4 additions and 4 deletions
|
|
@ -83,10 +83,6 @@ optimizations = [
|
|||
(('inot', ('fge', a, b)), ('flt', a, b)),
|
||||
(('inot', ('ilt', a, b)), ('ige', a, b)),
|
||||
(('inot', ('ige', a, b)), ('ilt', a, b)),
|
||||
(('flt', ('fadd', a, b), 0.0), ('flt', a, ('fneg', b))),
|
||||
(('fge', ('fadd', a, b), 0.0), ('fge', a, ('fneg', b))),
|
||||
(('feq', ('fadd', a, b), 0.0), ('feq', a, ('fneg', b))),
|
||||
(('fne', ('fadd', a, b), 0.0), ('fne', a, ('fneg', b))),
|
||||
(('fge', ('fneg', ('fabs', a)), 0.0), ('feq', a, 0.0)),
|
||||
(('bcsel', ('flt', a, b), a, b), ('fmin', a, b)),
|
||||
(('bcsel', ('flt', a, b), b, a), ('fmax', a, b)),
|
||||
|
|
@ -200,6 +196,10 @@ for op in ['flt', 'fge', 'feq', 'fne',
|
|||
# they help code generation but do not necessarily produce code that is
|
||||
# more easily optimizable.
|
||||
late_optimizations = [
|
||||
(('flt', ('fadd', a, b), 0.0), ('flt', a, ('fneg', b))),
|
||||
(('fge', ('fadd', a, b), 0.0), ('fge', a, ('fneg', b))),
|
||||
(('feq', ('fadd', a, b), 0.0), ('feq', a, ('fneg', b))),
|
||||
(('fne', ('fadd', a, b), 0.0), ('fne', a, ('fneg', b))),
|
||||
]
|
||||
|
||||
print nir_algebraic.AlgebraicPass("nir_opt_algebraic", optimizations).render()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue