aco/gfx11: optimize dual source export
authorGeorg Lehmann <dadschoorse@gmail.com>
Wed, 4 Oct 2023 09:51:21 +0000 (11:51 +0200)
committerMarge Bot <emma+marge@anholt.net>
Thu, 5 Oct 2023 10:37:34 +0000 (10:37 +0000)
commit34d8fa618515c85069ab68d082597168ac2cdc36
tree0e9c93578f89cc0c116ea392ff00a13b85953efc
parente3e47aa96e5ab938be2c89ce0b5481928cc68f2e
aco/gfx11: optimize dual source export

We can combine dpp with the v_cndmask_b32.

Foz-DB Navi31:
Totals from 222 (0.28% of 79330) affected shaders:
Instrs: 564392 -> 563373 (-0.18%); split: -0.19%, +0.01%
CodeSize: 2867040 -> 2864728 (-0.08%); split: -0.09%, +0.01%
Latency: 4278957 -> 4275199 (-0.09%); split: -0.09%, +0.00%
InvThroughput: 586636 -> 585824 (-0.14%); split: -0.14%, +0.00%
SClause: 20210 -> 20211 (+0.00%); split: -0.02%, +0.02%
Copies: 39763 -> 39778 (+0.04%); split: -0.13%, +0.17%
PreVGPRs: 13924 -> 13922 (-0.01%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25541>
src/amd/compiler/aco_instruction_selection.cpp
src/amd/compiler/aco_lower_to_hw_instr.cpp
src/amd/compiler/aco_validate.cpp