diff options
-rw-r--r-- | src/amd/compiler/aco_ssa_elimination.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/amd/compiler/aco_ssa_elimination.cpp b/src/amd/compiler/aco_ssa_elimination.cpp index 54e691ba476..95e2e842a9c 100644 --- a/src/amd/compiler/aco_ssa_elimination.cpp +++ b/src/amd/compiler/aco_ssa_elimination.cpp @@ -153,7 +153,8 @@ void try_remove_invert_block(ssa_elimination_ctx& ctx, Block* block) for (aco_ptr<Instruction>& instr : block->instructions) { if (instr->opcode != aco_opcode::p_linear_phi && instr->opcode != aco_opcode::p_phi && - instr->opcode != aco_opcode::s_andn2_b64 && + (instr->opcode != aco_opcode::s_andn2_b64 || ctx.program->wave_size != 64) && + (instr->opcode != aco_opcode::s_andn2_b32 || ctx.program->wave_size != 32) && instr->opcode != aco_opcode::p_branch) return; } |