nir: handle negatives in ffma reassociation optimisation
shader-db results Iris (BDW): total instructions in shared programs: 16632076 -> 16631057 (<.01%) instructions in affected programs: 48010 -> 46991 (-2.12%) helped: 47 HURT: 6 total cycles in shared programs: 915266726 -> 915263622 (<.01%) cycles in affected programs: 1182283 -> 1179179 (-0.26%) helped: 18 HURT: 27 total loops in shared programs: 4929 -> 4929 (0.00%) loops in affected programs: 0 -> 0 helped: 0 HURT: 0 total spills in shared programs: 18834 -> 18801 (-0.18%) spills in affected programs: 525 -> 492 (-6.29%) helped: 3 HURT: 0 total fills in shared programs: 23008 -> 22981 (-0.12%) fills in affected programs: 435 -> 408 (-6.21%) helped: 3 HURT: 0 Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8608>
This commit is contained in:

committed by
Marge Bot

parent
b4f7535ba2
commit
9f474bd4b4
@@ -2302,6 +2302,8 @@ late_optimizations = [
|
||||
('ffma', a, b, ('ffma', c, d, ('ffma', e, 'f', 'g'))), '(info->stage != MESA_SHADER_VERTEX && info->stage != MESA_SHADER_GEOMETRY) && !options->intel_vec4'),
|
||||
(('~fadd', ('ffma(is_used_once)', a, b, ('fmul', 'c(is_not_const_and_not_fsign)', 'd(is_not_const_and_not_fsign)') ), 'e(is_not_const)'),
|
||||
('ffma', a, b, ('ffma', c, d, e)), '(info->stage != MESA_SHADER_VERTEX && info->stage != MESA_SHADER_GEOMETRY) && !options->intel_vec4'),
|
||||
(('~fadd', ('fneg', ('ffma(is_used_once)', a, b, ('ffma', c, d, ('fmul', 'e(is_not_const_and_not_fsign)', 'f(is_not_const_and_not_fsign)')))), 'g(is_not_const)'),
|
||||
('ffma', ('fneg', a), b, ('ffma', ('fneg', c), d, ('ffma', ('fneg', e), 'f', 'g'))), '(info->stage != MESA_SHADER_VERTEX && info->stage != MESA_SHADER_GEOMETRY) && !options->intel_vec4'),
|
||||
|
||||
# Section 8.8 (Integer Functions) of the GLSL 4.60 spec says:
|
||||
#
|
||||
|
Reference in New Issue
Block a user