d36594f7f0
The initial wraparound was calculated in a way I do not fully understand. However, it could lead to not starting from register 0 when a wraparound occurs. This, in turn, could lead to some unnecessary gaps. Fix this by explicitly setting start to 0 when a wraparound occurs. Totals from 16452 (10.00% of 164575) affected shaders: Instrs: 16456187 -> 16449330 (-0.04%); split: -0.14%, +0.10% CodeSize: 32357818 -> 32345432 (-0.04%); split: -0.14%, +0.10% NOPs: 3411778 -> 3410810 (-0.03%); split: -0.43%, +0.40% MOVs: 603559 -> 603199 (-0.06%); split: -0.81%, +0.75% COVs: 262804 -> 262761 (-0.02%); split: -0.13%, +0.11% Full: 279264 -> 279179 (-0.03%); split: -0.04%, +0.01% (ss): 422887 -> 422739 (-0.03%); split: -0.81%, +0.77% (sy): 188298 -> 188513 (+0.11%); split: -0.53%, +0.65% (ss)-stall: 1685300 -> 1679865 (-0.32%); split: -0.99%, +0.67% (sy)-stall: 5797450 -> 5788564 (-0.15%); split: -0.74%, +0.58% STPs: 18359 -> 18341 (-0.10%); split: -0.14%, +0.04% LDPs: 32825 -> 32833 (+0.02%); split: -0.22%, +0.24% Preamble Instrs: 3307822 -> 3308388 (+0.02%); split: -0.31%, +0.33% Early Preamble: 5853 -> 5852 (-0.02%) Last helper: 4154632 -> 4164580 (+0.24%); split: -0.34%, +0.58% Cat0: 3760257 -> 3759249 (-0.03%); split: -0.39%, +0.36% Cat1: 968587 -> 963086 (-0.57%); split: -0.99%, +0.43% Cat2: 6133128 -> 6133532 (+0.01%); split: -0.03%, +0.03% Cat6: 183289 -> 183275 (-0.01%); split: -0.05%, +0.05% Cat7: 684028 -> 683290 (-0.11%); split: -0.35%, +0.25% Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36374>