aco/wave32: Use lane mask regclass for exec/vcc.
authorTimur Kristóf <timur.kristof@gmail.com>
Wed, 27 Nov 2019 10:04:47 +0000 (11:04 +0100)
committerDaniel Schürmann <daniel@schuermann.dev>
Wed, 4 Dec 2019 10:36:01 +0000 (10:36 +0000)
commite0bcefc3a0a15a8c7ec00cfa53fd8fffcc07342a
tree5ec0a9aef34d60726058b553bc6ffca03e409513
parentb4efe179ede6ea7d53bc8074048c96d2aa146701
aco/wave32: Use lane mask regclass for exec/vcc.

Currently all usages of exec and vcc are hardcoded to use s2 regclass.
This commit makes it possible to use s1 in wave32 mode and
s2 in wave64 mode.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
12 files changed:
src/amd/compiler/aco_builder_h.py
src/amd/compiler/aco_insert_exec_mask.cpp
src/amd/compiler/aco_instruction_selection.cpp
src/amd/compiler/aco_instruction_selection_setup.cpp
src/amd/compiler/aco_ir.h
src/amd/compiler/aco_live_var_analysis.cpp
src/amd/compiler/aco_lower_bool_phis.cpp
src/amd/compiler/aco_lower_to_hw_instr.cpp
src/amd/compiler/aco_reduce_assign.cpp
src/amd/compiler/aco_register_allocation.cpp
src/amd/compiler/aco_ssa_elimination.cpp
src/amd/compiler/aco_validate.cpp