aco: look at p_{extract,split}_vector's definitions in pred_by_exec_mask()

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4333>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4333>
This commit is contained in:
Rhys Perry
2020-03-26 13:22:13 +00:00
committed by Marge Bot
parent 9197fd59da
commit 4a909068ad
+5 -2
View File
@@ -107,10 +107,13 @@ bool pred_by_exec_mask(aco_ptr<Instruction>& instr) {
if (instr->format == Format::PSEUDO) {
switch (instr->opcode) {
case aco_opcode::p_create_vector:
return instr->definitions[0].getTemp().type() == RegType::vgpr;
case aco_opcode::p_extract_vector:
case aco_opcode::p_split_vector:
return instr->operands[0].getTemp().type() == RegType::vgpr;
for (Definition def : instr->definitions) {
if (def.getTemp().type() == RegType::vgpr)
return true;
}
return false;
case aco_opcode::p_spill:
case aco_opcode::p_reload:
return false;