aco/ra: don't swap p_create_vector operand with definition blocker for scc
authorRhys Perry <pendingchaos02@gmail.com>
Thu, 8 Dec 2022 19:32:25 +0000 (19:32 +0000)
committerMarge Bot <emma+marge@anholt.net>
Fri, 9 Dec 2022 15:58:43 +0000 (15:58 +0000)
commita05dd58309caf7e3857eb7f02084d8c9667c9efc
treef606bbbb186c9b9db63cdd84ac94b565d3f7b7a9
parent4dff3ff005b47befd3e4a903b08d5b4bdbef6ae3
aco/ra: don't swap p_create_vector operand with definition blocker for scc

SCC is 1-bit, and we can't copy a 32-bit value into it.

Fixes dEQP-VK.spirv_assembly.type.scalar.i32.iequal_tesse with
ACO_DEBUG=noopt.

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 9476986e6f6 ("aco/ra: special-case get_reg_for_create_vector_copy()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20240>
src/amd/compiler/aco_register_allocation.cpp