mesa/src/amd
Rhys Perry 63659fc15c radv: use byte/word extract/insert instructions
ACO doesn't yet combine extract/insert into instructions, but it seems to
already generate less instructions because NIR optimizes shift+and to
these instructions. Code size is worse in some cases though because we
have to always use a literal when masking.

fossil-db (Sienna Cichlid):
Totals from 14361 (9.58% of 149839) affected shaders:
VGPRs: 850152 -> 850304 (+0.02%); split: -0.02%, +0.04%
SpillSGPRs: 7979 -> 7989 (+0.13%); split: -0.03%, +0.15%
CodeSize: 88031216 -> 88162520 (+0.15%); split: -0.01%, +0.16%
MaxWaves: 269414 -> 269426 (+0.00%)
Instrs: 16695182 -> 16662852 (-0.19%); split: -0.21%, +0.01%
Latency: 375592693 -> 375544364 (-0.01%); split: -0.04%, +0.03%
InvThroughput: 75627700 -> 75607720 (-0.03%); split: -0.07%, +0.04%

fossil-db (Polaris):
Totals from 13816 (9.13% of 151365) affected shaders:
SGPRs: 984896 -> 982512 (-0.24%); split: -0.29%, +0.05%
VGPRs: 809220 -> 809112 (-0.01%); split: -0.02%, +0.01%
SpillSGPRs: 9181 -> 9185 (+0.04%); split: -0.04%, +0.09%
CodeSize: 82017952 -> 82123484 (+0.13%); split: -0.01%, +0.14%
MaxWaves: 65721 -> 65723 (+0.00%)
Instrs: 16008744 -> 15988007 (-0.13%); split: -0.18%, +0.05%
Latency: 439911623 -> 439869622 (-0.01%); split: -0.04%, +0.03%
InvThroughput: 185898770 -> 185841742 (-0.03%); split: -0.08%, +0.05%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3151>
2021-06-08 08:57:43 +00:00
..
addrlib amd: fix incorrect addrlib comment for HTILE equations 2021-05-25 16:15:44 +00:00
ci ci: update some radv trace checksums 2021-06-07 20:45:55 +00:00
common ac: add ac_thread_trace::data 2021-06-03 15:39:34 +00:00
compiler aco: use byte/word extract pseudo-instructions 2021-06-08 08:57:43 +00:00
llvm ac/llvm: implement byte/word extract/insert instructions 2021-06-08 08:57:43 +00:00
registers amd/registers: regenerate json files without 32-bit register fields 2021-05-25 16:15:44 +00:00
vulkan radv: use byte/word extract/insert instructions 2021-06-08 08:57:43 +00:00
.clang-format radv: Add clang-format for AMD code. 2021-04-10 03:31:32 +02:00
Android.addrlib.mk android: amd/addrlib: define endianess to build 2021-03-27 01:54:49 +01:00
Android.common.mk android: ac: add include src/util path 2021-06-04 09:31:36 +02:00
Android.compiler.mk android: aco/isel: Move context initialization code to a dedicated file 2020-09-14 21:26:53 +02:00
Android.mk android: aco: add support for libmesa_aco 2019-09-28 15:56:34 +02:00
Makefile.sources android: aco: add aco_optimizer_postRA.cpp to Makefile.sources 2021-06-04 09:31:41 +02:00
meson.build aco: add framework for unit testing 2020-07-30 16:13:08 +00:00