diff --git a/src/gallium/drivers/r600/sfn/sfn_instr_alugroup.cpp b/src/gallium/drivers/r600/sfn/sfn_instr_alugroup.cpp index 0be1f5b3fc8..60af23739a9 100644 --- a/src/gallium/drivers/r600/sfn/sfn_instr_alugroup.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_instr_alugroup.cpp @@ -138,7 +138,8 @@ AluGroup::add_trans_instructions(AluInstr *instr) return false; } - while ((!m_slots[used_slot] && used_slot >= 0) || !(free_mask & (1 << used_slot))) + while (used_slot >= 0 && + (!m_slots[used_slot] || !(free_mask & (1 << used_slot)))) --used_slot; // if we schedule a non-trans instr into the trans slot,