Skip to content
  • Daniel Schürmann's avatar
    aco: use VSKIP instead of branches in case of few instructions · fef919e0
    Daniel Schürmann authored
    This patch relaxes the conditions under which
    we remove branch instructions. Additionally, it
    introduces the use of VSKIP for GCN.
    
    Removing the branches now happens especially
    in these two situations:
    - divergent breaks: the outer branch instruction can be removed
    - optimized atomics: the branch condition is always true for one lane
    
    Totals from 20846 (14.96% of 139391) affected shaders:
    CodeSize: 156790560 -> 156294524 (-0.32%)
    Instrs: 29870459 -> 29748936 (-0.41%)
    Cycles: 1641405628 -> 1611934772 (-1.80%); split: -1.80%, +0.00%
    VMEM: 4538623 -> 4536635 (-0.04%)
    SMEM: 1318984 -> 1318787 (-0.01%)
    Branches: 830286 -> 708791 (-14.63%)
    fef919e0