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)
committerEric Engestrom <eric@engestrom.ch>
Wed, 14 Dec 2022 20:47:01 +0000 (20:47 +0000)
commit2c738559376950bb040c69cd869dcf2f81daa71f
tree6a4db9555372b9f407e9b0c90b1c4dd1957cb0e1
parent6922882d8ff0b75d99a1458e2951e0b72ee3001a
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>
(cherry picked from commit a05dd58309caf7e3857eb7f02084d8c9667c9efc)
.pick_status.json
src/amd/compiler/aco_register_allocation.cpp