diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 31e449ecf1b..952c5f3ee4e 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -1759,6 +1759,7 @@ bool combine_ordering_test(opt_ctx &ctx, aco_ptr& instr) new_instr = static_cast(vop3); } else { new_instr = create_instruction(new_op, Format::VOPC, 2, 1); + instr->definitions[0].setHint(vcc); } new_instr->operands[0] = Operand(op[0]); new_instr->operands[1] = Operand(op[1]); @@ -1831,6 +1832,7 @@ bool combine_comparison_ordering(opt_ctx &ctx, aco_ptr& instr) new_instr = new_vop3; } else { new_instr = create_instruction(new_op, Format::VOPC, 2, 1); + instr->definitions[0].setHint(vcc); } new_instr->operands[0] = cmp->operands[0]; new_instr->operands[1] = cmp->operands[1]; @@ -1950,6 +1952,7 @@ bool combine_constant_comparison_ordering(opt_ctx &ctx, aco_ptr& in new_instr = new_vop3; } else { new_instr = create_instruction(new_op, Format::VOPC, 2, 1); + instr->definitions[0].setHint(vcc); } new_instr->operands[0] = cmp->operands[0]; new_instr->operands[1] = cmp->operands[1]; @@ -2011,6 +2014,7 @@ bool combine_inverse_comparison(opt_ctx &ctx, aco_ptr& instr) new_instr = new_sdwa; } else { new_instr = create_instruction(new_opcode, Format::VOPC, 2, 1); + instr->definitions[0].setHint(vcc); } new_instr->operands[0] = cmp->operands[0]; new_instr->operands[1] = cmp->operands[1];