[Mesa-dev] [PATCH] nir: add is_used_once for fmul(fexp2(a), fexp2(b)) to fexp2(fadd(a, b))

Timothy Arceri tarceri at itsqueeze.com
Thu Feb 15 21:56:59 UTC 2018


Here are the IVB shader-db results:

instructions helped:   shaders/closed/steam/dex/63.shader_test FS SIMD8: 
1303 -> 1300 (-0.23%)
instructions helped:   shaders/closed/steam/gang-beasts/111.shader_test 
FS SIMD8: 1303 -> 1300 (-0.23%)
instructions helped: 
shaders/closed/steam/rocketsrocketsrockets/81.shader_test FS SIMD8: 1303 
-> 1300 (-0.23%)
instructions helped: 
shaders/closed/steam/kerbal-space-program/687.shader_test FS SIMD8: 1303 
-> 1300 (-0.23%)
instructions helped: 
shaders/closed/steam/chivalry-medieval-warfare/834.shader_test FS 
SIMD16: 391 -> 389 (-0.51%)
instructions helped: 
shaders/closed/steam/saints-row-the-third/834.shader_test FS SIMD16: 391 
-> 389 (-0.51%)
instructions helped: 
shaders/closed/steam/chivalry-medieval-warfare/834.shader_test FS SIMD8: 
338 -> 336 (-0.59%)
instructions helped: 
shaders/closed/steam/saints-row-the-third/834.shader_test FS SIMD8: 338 
-> 336 (-0.59%)
instructions helped: 
shaders/closed/steam/dota-2-reborn/1243.shader_test FS SIMD16: 148 -> 
141 (-4.73%)
instructions helped:   shaders/closed/steam-big-picture/1.shader_test FS 
SIMD16: 145 -> 138 (-4.83%)
instructions helped: 
shaders/closed/steam/dota-2-reborn/1243.shader_test FS SIMD8: 100 -> 93 
(-7.00%)
instructions helped:   shaders/closed/steam-big-picture/1.shader_test FS 
SIMD8: 97 -> 90 (-7.22%)

instructions HURT: 
shaders/closed/UnrealEngine4/VehicleGame/234.shader_test FS SIMD8: 146 
-> 147 (0.68%)
instructions HURT: 
shaders/closed/UnrealEngine4/Lightroominteriorday/175.shader_test FS 
SIMD8: 139 -> 140 (0.72%)
instructions HURT: 
shaders/closed/UnrealEngine4/VehicleGame/234.shader_test FS SIMD16: 178 
-> 180 (1.12%)
instructions HURT: 
shaders/closed/UnrealEngine4/Lightroominteriorday/175.shader_test FS 
SIMD16: 171 -> 173 (1.17%)

cycles helped: 
shaders/closed/steam/chivalry-medieval-warfare/834.shader_test FS SIMD8: 
2790 -> 2784 (-0.22%)
cycles helped: 
shaders/closed/steam/saints-row-the-third/834.shader_test FS SIMD8: 2790 
-> 2784 (-0.22%)
cycles helped: 
shaders/closed/steam/chivalry-medieval-warfare/834.shader_test FS 
SIMD16: 3399 -> 3383 (-0.47%)
cycles helped: 
shaders/closed/steam/saints-row-the-third/834.shader_test FS SIMD16: 
3399 -> 3383 (-0.47%)
cycles helped: 
shaders/closed/UnrealEngine4/VehicleGame/234.shader_test FS SIMD8: 7944 
-> 7904 (-0.50%)
cycles helped: 
shaders/closed/UnrealEngine4/Lightroominteriorday/175.shader_test FS 
SIMD8: 7726 -> 7686 (-0.52%)
cycles helped: 
shaders/closed/UnrealEngine4/VehicleGame/234.shader_test FS SIMD16: 
10557 -> 10471 (-0.81%)
cycles helped: 
shaders/closed/UnrealEngine4/Lightroominteriorday/175.shader_test FS 
SIMD16: 10335 -> 10249 (-0.83%)
cycles helped:   shaders/closed/steam/dota-2-reborn/1243.shader_test FS 
SIMD16: 974 -> 883 (-9.34%)
cycles helped:   shaders/closed/steam/dota-2-reborn/1243.shader_test FS 
SIMD8: 951 -> 841 (-11.57%)
cycles helped:   shaders/closed/steam-big-picture/1.shader_test FS 
SIMD16: 1155 -> 958 (-17.06%)
cycles helped:   shaders/closed/steam-big-picture/1.shader_test FS 
SIMD8: 1056 -> 845 (-19.98%)

cycles HURT:   shaders/closed/steam/dex/63.shader_test FS SIMD8: 13165 
-> 13240 (0.57%)
cycles HURT:   shaders/closed/steam/gang-beasts/111.shader_test FS 
SIMD8: 13165 -> 13240 (0.57%)
cycles HURT:   shaders/closed/steam/rocketsrocketsrockets/81.shader_test 
FS SIMD8: 13165 -> 13240 (0.57%)
cycles HURT:   shaders/closed/steam/kerbal-space-program/687.shader_test 
FS SIMD8: 13165 -> 13240 (0.57%)
cycles HURT:   shaders/closed/steam/dungeon-defenders/8409.shader_test 
FS SIMD8: 573 -> 579 (1.05%)
cycles HURT:   shaders/closed/steam/dungeon-defenders/8409.shader_test 
FS SIMD16: 635 -> 645 (1.57%)

total instructions in shared programs: 10114499 -> 10114457 (-0.00%)
instructions in affected programs: 7794 -> 7752 (-0.54%)
helped: 12
HURT: 4

total cycles in shared programs: 230925909 -> 230925320 (-0.00%)
cycles in affected programs: 106944 -> 106355 (-0.55%)
helped: 12
HURT: 6

total loops in shared programs: 2436 -> 2436 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0

total spills in shared programs: 5435 -> 5435 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0

total fills in shared programs: 6069 -> 6069 (0.00%)
fills in affected programs: 0 -> 0
helped: 0
HURT: 0

LOST:   0
GAINED: 0

On 15/02/18 12:36, Ian Romanick wrote:
> Do you have shader-db results?  Did you try having only one is_used_once?
> 
> On 02/05/2018 07:07 AM, Samuel Pitoiset wrote:
>> Otherwise the code size increases because the original fexp2()
>> instructions can't be deleted.
>>
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>   src/compiler/nir/nir_opt_algebraic.py | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py
>> index b30d1df199..d40d59b5cd 100644
>> --- a/src/compiler/nir/nir_opt_algebraic.py
>> +++ b/src/compiler/nir/nir_opt_algebraic.py
>> @@ -336,7 +336,7 @@ optimizations = [
>>      (('~flog2', ('frcp', a)), ('fneg', ('flog2', a))),
>>      (('~flog2', ('frsq', a)), ('fmul', -0.5, ('flog2', a))),
>>      (('~flog2', ('fpow', a, b)), ('fmul', b, ('flog2', a))),
>> -   (('~fmul', ('fexp2', a), ('fexp2', b)), ('fexp2', ('fadd', a, b))),
>> +   (('~fmul', ('fexp2(is_used_once)', a), ('fexp2(is_used_once)', b)), ('fexp2', ('fadd', a, b))),
>>      # Division and reciprocal
>>      (('~fdiv', 1.0, a), ('frcp', a)),
>>      (('fdiv', a, b), ('fmul', a, ('frcp', b)), 'options->lower_fdiv'),
>>
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list