diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index 1b624e4b930..4f9091f9e24 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -289,6 +289,8 @@ convert_to_SDWA(chip_class chip, aco_ptr& instr) if (instr->operands.size() >= 3) instr->operands[2].setFixed(vcc); + instr->pass_flags = tmp->pass_flags; + return tmp; } @@ -375,6 +377,8 @@ convert_to_DPP(aco_ptr& instr, bool dpp8) if (instr->operands.size() >= 3) instr->operands[2].setFixed(vcc); + instr->pass_flags = tmp->pass_flags; + return tmp; } diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 537f3d4b1b9..85701c0b70b 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -607,6 +607,8 @@ to_VOP3(opt_ctx& ctx, aco_ptr& instr) } /* we don't need to update any instr_mod_labels because they either haven't * been applied yet or this instruction isn't dead and so they've been ignored */ + + instr->pass_flags = tmp->pass_flags; } bool