nir_to_tgsi: Add a flag for lowering fabs, and use it in r300/i915.
authorEmma Anholt <emma@anholt.net>
Tue, 8 Feb 2022 18:13:59 +0000 (10:13 -0800)
committerEmma Anholt <emma@anholt.net>
Wed, 9 Feb 2022 02:50:01 +0000 (18:50 -0800)
commit2883e8f33db809b2f34f4e9b973ab81ec9b7eac2
treefc646e4082eeddde6bcedcb662c586193ca8a00e
parentf4ee7146f9fe4fcab98f4601e07e4dcd70cedf65
nir_to_tgsi: Add a flag for lowering fabs, and use it in r300/i915.

Saves instructions if the same fabs value is used multiple times.

i915g:
total instructions in shared programs: 397005 -> 396525 (-0.12%)
instructions in affected programs: 11061 -> 10581 (-4.34%)
LOST:   0
GAINED: 22

r300 (not r500):
total instructions in shared programs: 180286 -> 179767 (-0.29%)
instructions in affected programs: 27102 -> 26583 (-1.91%)
total temps in shared programs: 29692 -> 29638 (-0.18%)
temps in affected programs: 356 -> 302 (-15.17%)

Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14938>
src/gallium/auxiliary/nir/nir_to_tgsi.c
src/gallium/auxiliary/nir/nir_to_tgsi.h
src/gallium/drivers/i915/ci/i915-g33-fails.txt
src/gallium/drivers/i915/i915_state.c
src/gallium/drivers/r300/r300_state.c