aco: implement some exclusive scans with inclusive scans
authorGeorg Lehmann <dadschoorse@gmail.com>
Tue, 8 Aug 2023 11:35:18 +0000 (13:35 +0200)
committerMarge Bot <emma+marge@anholt.net>
Sat, 2 Sep 2023 11:42:22 +0000 (11:42 +0000)
commit2ae94b38943f36cd02bddcf40d87063c676dcb4d
treecac13c7ca9072be3e078e21160fc836f9eb61892
parentf90f68aa1cf4f87df66ae9656cf517547e9fb36c
aco: implement some exclusive scans with inclusive scans

exclusive scan lowering uses full wave shift, for iadd/ixor it's faster
to do inclusive scans and subtract/xor the thread's source.

Foz-DB Navi21:
Totals from 21 (0.02% of 132657) affected shaders:
Instrs: 10925 -> 10727 (-1.81%)
CodeSize: 58064 -> 56488 (-2.71%)
Latency: 178471 -> 177928 (-0.30%)
InvThroughput: 24374 -> 24145 (-0.94%)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24555>
src/amd/compiler/aco_instruction_selection.cpp