Skip to content

panfrost: Use lower_bool_to_bitsize

Alyssa Rosenzweig requested to merge alyssa/mesa:lower-bool-new into main

Fix a bunch of subtle boolean handling bugs and get slightly better code gen out of it. shader-db for the series:

total instructions in shared programs: 89005 -> 88941 (-0.07%)
instructions in affected programs: 4276 -> 4212 (-1.50%)
helped: 32
HURT: 0
helped stats (abs) min: 1.0 max: 16.0 x̄: 2.00 x̃: 1
helped stats (rel) min: 0.29% max: 11.11% x̄: 2.98% x̃: 2.03%
95% mean confidence interval for instructions value: -2.99 -1.01
95% mean confidence interval for instructions %-change: -4.00% -1.97%
Instructions are helped.

total tuples in shared programs: 73210 -> 72922 (-0.39%)
tuples in affected programs: 31801 -> 31513 (-0.91%)
helped: 116
HURT: 33
helped stats (abs) min: 1.0 max: 32.0 x̄: 3.27 x̃: 2
helped stats (rel) min: 0.29% max: 16.67% x̄: 2.91% x̃: 1.29%
HURT stats (abs)   min: 1.0 max: 8.0 x̄: 2.76 x̃: 2
HURT stats (rel)   min: 0.12% max: 12.50% x̄: 1.73% x̃: 0.90%
95% mean confidence interval for tuples value: -2.69 -1.18
95% mean confidence interval for tuples %-change: -2.48% -1.29%
Tuples are helped.

total clauses in shared programs: 15975 -> 15928 (-0.29%)
clauses in affected programs: 2162 -> 2115 (-2.17%)
helped: 28
HURT: 18
helped stats (abs) min: 1.0 max: 27.0 x̄: 2.39 x̃: 1
helped stats (rel) min: 1.39% max: 25.00% x̄: 8.73% x̃: 5.41%
HURT stats (abs)   min: 1.0 max: 2.0 x̄: 1.11 x̃: 1
HURT stats (rel)   min: 0.79% max: 4.65% x̄: 2.08% x̃: 1.67%
95% mean confidence interval for clauses value: -2.34 0.29
95% mean confidence interval for clauses %-change: -6.73% -2.27%
Inconclusive result (value mean confidence interval includes 0).

total cycles in shared programs: 7604.54 -> 7594.75 (-0.13%)
cycles in affected programs: 997.00 -> 987.21 (-0.98%)
helped: 77
HURT: 24
helped stats (abs) min: 0.041665999999999315 max: 1.3333319999999986 x̄: 0.17 x̃: 0
helped stats (rel) min: 0.30% max: 16.67% x̄: 3.14% x̃: 1.52%
HURT stats (abs)   min: 0.0416669999999999 max: 0.2916659999999993 x̄: 0.13 x̃: 0
HURT stats (rel)   min: 0.13% max: 10.00% x̄: 1.56% x̃: 0.97%
95% mean confidence interval for cycles value: -0.14 -0.05
95% mean confidence interval for cycles %-change: -2.76% -1.28%
Cycles are helped.

total arith in shared programs: 2739.83 -> 2728.08 (-0.43%)
arith in affected programs: 1279.92 -> 1268.17 (-0.92%)
helped: 120
HURT: 39
helped stats (abs) min: 0.041665999999999315 max: 1.3333319999999986 x̄: 0.13 x̃: 0
helped stats (rel) min: 0.30% max: 22.22% x̄: 3.12% x̃: 1.20%
HURT stats (abs)   min: 0.0416660000000002 max: 0.2916659999999993 x̄: 0.09 x̃: 0
HURT stats (rel)   min: 0.13% max: 20.00% x̄: 1.90% x̃: 1.05%
95% mean confidence interval for arith value: -0.10 -0.04
95% mean confidence interval for arith %-change: -2.58% -1.20%
Arith are helped.

total quadwords in shared programs: 67842 -> 67555 (-0.42%)
quadwords in affected programs: 25364 -> 25077 (-1.13%)
helped: 103
HURT: 26
helped stats (abs) min: 1.0 max: 52.0 x̄: 3.57 x̃: 2
helped stats (rel) min: 0.35% max: 13.41% x̄: 2.75% x̃: 1.64%
HURT stats (abs)   min: 1.0 max: 9.0 x̄: 3.12 x̃: 3
HURT stats (rel)   min: 0.14% max: 3.57% x̄: 1.18% x̃: 0.81%
95% mean confidence interval for quadwords value: -3.33 -1.12
95% mean confidence interval for quadwords %-change: -2.43% -1.48%
Quadwords are helped.
Edited by Alyssa Rosenzweig

Merge request reports