Skip to content

nir,ir3: Add icsel_eqz

In IR3 sel.b32 works based on the 0 so add icsel_eqz to fuse the cmp and sel that we'd otherwise need.

shader-db:
total Max Waves Per Core in shared programs: 191088 -> 191084 (<.01%)
Max Waves Per Core in affected programs: 26 -> 22 (-15.38%)
helped: 3
HURT: 1
helped stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
helped stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
HURT stats (abs)   min: 2 max: 2 x̄: 2.00 x̃: 2
HURT stats (rel)   min: 14.29% max: 14.29% x̄: 14.29% x̃: 14.29%
95% mean confidence interval for Max Waves Per Core value: -4.18 2.18
95% mean confidence interval for Max Waves Per Core %-change: -85.08% 17.22%
Inconclusive result (value mean confidence interval includes 0).

total Instruction Count in shared programs: 1112814 -> 1110465 (-0.21%)
Instruction Count in affected programs: 162790 -> 160441 (-1.44%)
helped: 82
HURT: 30
helped stats (abs) min: 1 max: 106 x̄: 30.90 x̃: 4
helped stats (rel) min: 0.05% max: 7.69% x̄: 2.58% x̃: 2.61%
HURT stats (abs)   min: 1 max: 37 x̄: 6.17 x̃: 3
HURT stats (rel)   min: 0.03% max: 13.04% x̄: 1.76% x̃: 0.50%
95% mean confidence interval for Instruction Count value: -27.91 -14.03
95% mean confidence interval for Instruction Count %-change: -1.96% -0.87%
Instruction count are helped.

total Code size in shared programs: 2142562 -> 2142664 (<.01%)
Code size in affected programs: 115882 -> 115984 (0.09%)
helped: 37
HURT: 28
helped stats (abs) min: 2 max: 36 x̄: 15.24 x̃: 24
helped stats (rel) min: 0.24% max: 40.62% x̄: 5.47% x̃: 2.29%
HURT stats (abs)   min: 2 max: 64 x̄: 23.79 x̃: 26
HURT stats (rel)   min: 0.03% max: 12.28% x̄: 2.01% x̃: 0.66%
95% mean confidence interval for Code size value: -4.17 7.31
95% mean confidence interval for Code size %-change: -4.01% -0.48%
Inconclusive result (value mean confidence interval includes 0).

total NOPs Count in shared programs: 278477 -> 277173 (-0.47%)
NOPs Count in affected programs: 50633 -> 49329 (-2.58%)
helped: 55
HURT: 58
helped stats (abs) min: 1 max: 70 x̄: 28.85 x̃: 19
helped stats (rel) min: 0.64% max: 50.00% x̄: 7.81% x̃: 5.47%
HURT stats (abs)   min: 1 max: 27 x̄: 4.88 x̃: 3
HURT stats (rel)   min: 0.00% max: 200.00% x̄: 12.23% x̃: 1.53%
95% mean confidence interval for NOPs Count value: -16.19 -6.89
95% mean confidence interval for NOPs Count %-change: -2.51% 7.46%
Inconclusive result (%-change mean confidence interval includes 0).

total MOV Count in shared programs: 86777 -> 88672 (2.18%)
MOV Count in affected programs: 28119 -> 30014 (6.74%)
helped: 1
HURT: 292
helped stats (abs) min: 9 max: 9 x̄: 9.00 x̃: 9
helped stats (rel) min: 7.44% max: 7.44% x̄: 7.44% x̃: 7.44%
HURT stats (abs)   min: 1 max: 52 x̄: 6.52 x̃: 2
HURT stats (rel)   min: 0.00% max: 300.00% x̄: 15.90% x̃: 5.92%
95% mean confidence interval for MOV Count value: 5.33 7.60
95% mean confidence interval for MOV Count %-change: 12.62% 19.01%
Mov count are HURT.

total COV Count in shared programs: 15070 -> 14962 (-0.72%)
COV Count in affected programs: 5770 -> 5662 (-1.87%)
helped: 76
HURT: 2
helped stats (abs) min: 1 max: 3 x̄: 1.45 x̃: 1
helped stats (rel) min: 1.18% max: 50.00% x̄: 7.98% x̃: 1.54%
HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel)   min: 1.59% max: 1.64% x̄: 1.61% x̃: 1.61%
95% mean confidence interval for COV Count value: -1.53 -1.24
95% mean confidence interval for COV Count %-change: -10.59% -4.88%
Cov count are helped.

total Registers used in shared programs: 63344 -> 63411 (0.11%)
Registers used in affected programs: 123 -> 190 (54.47%)
helped: 5
HURT: 3
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 7.69% max: 11.11% x̄: 10.02% x̃: 11.11%
HURT stats (abs)   min: 24 max: 24 x̄: 24.00 x̃: 24
HURT stats (rel)   min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for Registers used value: -2.44 19.19
95% mean confidence interval for Registers used %-change: -16.38% 78.85%
Inconclusive result (value mean confidence interval includes 0).

total Half-registers used in shared programs: 0 -> 0
Half-registers used in affected programs: 0 -> 0
helped: 0
HURT: 0

total Last interpolation instruction in shared programs: 15286 -> 15287 (<.01%)
Last interpolation instruction in affected programs: 19 -> 20 (5.26%)
helped: 1
HURT: 2
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 14.29% max: 14.29% x̄: 14.29% x̃: 14.29%
HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel)   min: 16.67% max: 16.67% x̄: 16.67% x̃: 16.67%

total Last helper instruction in shared programs: 592729 -> 590638 (-0.35%)
Last helper instruction in affected programs: 91331 -> 89240 (-2.29%)
helped: 30
HURT: 1
helped stats (abs) min: 1 max: 106 x̄: 69.83 x̃: 81
helped stats (rel) min: 0.03% max: 3.80% x̄: 2.58% x̃: 2.98%
HURT stats (abs)   min: 4 max: 4 x̄: 4.00 x̃: 4
HURT stats (rel)   min: 0.07% max: 0.07% x̄: 0.07% x̃: 0.07%
95% mean confidence interval for Last helper instruction value: -80.98 -53.92
95% mean confidence interval for Last helper instruction %-change: -2.97% -2.03%
Last helper instruction are helped.

total Instructions with SS sync bit in shared programs: 29336 -> 29547 (0.72%)
Instructions with SS sync bit in affected programs: 4706 -> 4917 (4.48%)
helped: 8
HURT: 44
helped stats (abs) min: 1 max: 4 x̄: 1.88 x̃: 1
helped stats (rel) min: 0.56% max: 14.29% x̄: 5.08% x̃: 1.96%
HURT stats (abs)   min: 1 max: 13 x̄: 5.14 x̃: 4
HURT stats (rel)   min: 1.27% max: 25.00% x̄: 6.28% x̃: 4.15%
95% mean confidence interval for Instructions with SS sync bit value: 2.80 5.31
95% mean confidence interval for Instructions with SS sync bit %-change: 2.71% 6.36%
Instructions with ss sync bit are HURT.

total Instructions with SY sync bit in shared programs: 9047 -> 9046 (-0.01%)
Instructions with SY sync bit in affected programs: 39 -> 38 (-2.56%)
helped: 1
HURT: 0

total Estimated cycles stalled on SS in shared programs: 111590 -> 112397 (0.72%)
Estimated cycles stalled on SS in affected programs: 27730 -> 28537 (2.91%)
helped: 22
HURT: 61
helped stats (abs) min: 1 max: 13 x̄: 2.91 x̃: 1
helped stats (rel) min: 0.10% max: 19.35% x̄: 4.61% x̃: 1.25%
HURT stats (abs)   min: 1 max: 47 x̄: 14.28 x̃: 11
HURT stats (rel)   min: 0.00% max: 61.11% x̄: 9.48% x̃: 4.47%
95% mean confidence interval for Estimated cycles stalled on SS value: 6.73 12.71
95% mean confidence interval for Estimated cycles stalled on SS %-change: 2.72% 8.77%
Estimated cycles stalled on ss are HURT.

total Estimated cycles stalled on SY in shared programs: 217292 -> 217279 (<.01%)
Estimated cycles stalled on SY in affected programs: 4069 -> 4056 (-0.32%)
helped: 13
HURT: 10
helped stats (abs) min: 1 max: 19 x̄: 6.23 x̃: 6
helped stats (rel) min: 0.12% max: 8.45% x̄: 6.95% x̃: 8.45%
HURT stats (abs)   min: 3 max: 13 x̄: 6.80 x̃: 6
HURT stats (rel)   min: 0.36% max: 144.44% x̄: 34.54% x̃: 9.23%
95% mean confidence interval for Estimated cycles stalled on SY value: -3.87 2.74
95% mean confidence interval for Estimated cycles stalled on SY %-change: -7.39% 29.56%
Inconclusive result (value mean confidence interval includes 0).

total cat0 instructions in shared programs: 311902 -> 310598 (-0.42%)
cat0 instructions in affected programs: 60143 -> 58839 (-2.17%)
helped: 55
HURT: 58
helped stats (abs) min: 1 max: 70 x̄: 28.85 x̃: 19
helped stats (rel) min: 0.61% max: 40.00% x̄: 6.63% x̃: 4.35%
HURT stats (abs)   min: 1 max: 27 x̄: 4.88 x̃: 3
HURT stats (rel)   min: 0.09% max: 200.00% x̄: 15.56% x̃: 1.49%
95% mean confidence interval for cat0 instructions value: -16.19 -6.89
95% mean confidence interval for cat0 instructions %-change: -0.60% 10.12%
Inconclusive result (%-change mean confidence interval includes 0).

total cat1 instructions in shared programs: 101933 -> 103696 (1.73%)
cat1 instructions in affected programs: 35804 -> 37567 (4.92%)
helped: 18
HURT: 290
helped stats (abs) min: 1 max: 9 x̄: 1.44 x̃: 1
helped stats (rel) min: 1.96% max: 33.33% x̄: 10.28% x̃: 9.09%
HURT stats (abs)   min: 1 max: 51 x̄: 6.17 x̃: 2
HURT stats (rel)   min: 0.00% max: 300.00% x̄: 12.02% x̃: 4.76%
95% mean confidence interval for cat1 instructions value: 4.71 6.74
95% mean confidence interval for cat1 instructions %-change: 7.88% 13.55%
Cat1 instructions are HURT.

total cat2 instructions in shared programs: 380299 -> 377490 (-0.74%)
cat2 instructions in affected programs: 128609 -> 125800 (-2.18%)
helped: 322
HURT: 0
helped stats (abs) min: 1 max: 56 x̄: 8.72 x̃: 2
helped stats (rel) min: 0.22% max: 57.14% x̄: 4.65% x̃: 2.84%
95% mean confidence interval for cat2 instructions value: -10.45 -7.00
95% mean confidence interval for cat2 instructions %-change: -5.42% -3.89%
Cat2 instructions are helped.

total cat3 instructions in shared programs: 271041 -> 271042 (<.01%)
cat3 instructions in affected programs: 27 -> 28 (3.70%)
helped: 0
HURT: 1

total cat4 instructions in shared programs: 20036 -> 20036 (0.00%)
cat4 instructions in affected programs: 0 -> 0
helped: 0
HURT: 0

total cat5 instructions in shared programs: 23583 -> 23583 (0.00%)
cat5 instructions in affected programs: 0 -> 0
helped: 0
HURT: 0

total cat6 instructions in shared programs: 4020 -> 4020 (0.00%)
cat6 instructions in affected programs: 0 -> 0
helped: 0
HURT: 0

total cat7 instructions in shared programs: 0 -> 0
cat7 instructions in affected programs: 0 -> 0
helped: 0
HURT: 0

total STP Count in shared programs: 371 -> 371 (0.00%)
STP Count in affected programs: 0 -> 0
helped: 0
HURT: 0

total LDP Count in shared programs: 421 -> 421 (0.00%)
LDP Count in affected programs: 0 -> 0
helped: 0
HURT: 0

total Early preamble in shared programs: 10939 -> 10939 (0.00%)
Early preamble in affected programs: 0 -> 0
helped: 0
HURT: 0

LOST:   0
GAINED: 0

Total CPU time (seconds): 124.04 -> 123.75 (-0.23%)
Edited by Karmjit Mahil

Merge request reports

Loading