Skip to content

aco: Fix inverse comparison optimization.

Timur Kristóf requested to merge Venemo/mesa:aco_fix_inverse_comparison into main

Some time ago we stopped using s_andn2 with exec for booleans. The reasoning behind that change was that those booleans will be always anded with exec when used.

However, we forgot to update combine_inverse_comparison so it stopped working after that.

Fossil DB stats on Navi 21:

Totals from 12244 (9.08% of 134906) affected shaders: VGPRs: 801024 -> 801296 (+0.03%); split: -0.00%, +0.04% SpillSGPRs: 8863 -> 8893 (+0.34%) CodeSize: 100441176 -> 100218028 (-0.22%); split: -0.22%, +0.00% MaxWaves: 204966 -> 204920 (-0.02%); split: +0.00%, -0.02% Instrs: 18693994 -> 18645775 (-0.26%); split: -0.26%, +0.00% Latency: 262490493 -> 262110461 (-0.14%); split: -0.16%, +0.02% InvThroughput: 52241173 -> 52203032 (-0.07%); split: -0.08%, +0.01% VClause: 328485 -> 328534 (+0.01%); split: -0.03%, +0.05% SClause: 680517 -> 680389 (-0.02%); split: -0.02%, +0.00% Copies: 1327421 -> 1368169 (+3.07%); split: -0.03%, +3.10% Branches: 546766 -> 546742 (-0.00%) PreSGPRs: 910923 -> 909306 (-0.18%) PreVGPRs: 765610 -> 766401 (+0.10%)

Merge request reports