ir3: Convert to register intrinsics
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Wed, 12 Jul 2023 18:21:43 +0000 (14:21 -0400)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Fri, 14 Jul 2023 13:28:48 +0000 (09:28 -0400)
commit1e9f4b967a5b70a5c6864d30ddf8da21a028f64d
tree8e6656d5e6cb930f8707c2aa5dd71729a2275ac2
parent7ad9416c6118843f7f2b18ad8aa7032ec25d1987
ir3: Convert to register intrinsics

Thanks to our SSA-based RA, we only use nir_register for arrays, and we only
access array registers with dedicated moves anyway. So there's no reason to need
any fancy coalescing... we can just switch to register access intrinsics and
translate them to moves exactly like we would've done when getting srcs/dests
before.

This addresses the ir3 portion of #9051.

No shader-db changes with a (significant subset of) Rob's shader-db. (Some
shaders are affected by this change but not in any way that shows up in the
stats.)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24126>
src/freedreno/ir3/ir3.h
src/freedreno/ir3/ir3_compiler_nir.c
src/freedreno/ir3/ir3_context.c
src/freedreno/ir3/ir3_context.h