return true;
if (instr->isVOP3() && instr->definitions.size() == 2)
return true;
- if (instr->opcode == aco_opcode::v_readfirstlane_b32 || instr->opcode == aco_opcode::v_readlane_b32)
+ if (instr->opcode == aco_opcode::v_readfirstlane_b32 ||
+ instr->opcode == aco_opcode::v_readlane_b32 ||
+ instr->opcode == aco_opcode::v_readlane_b32_e64)
return true;
return false;
}
switch (instr->opcode) {
case aco_opcode::v_readlane_b32:
- case aco_opcode::v_writelane_b32: {
+ case aco_opcode::v_readlane_b32_e64:
+ case aco_opcode::v_writelane_b32:
+ case aco_opcode::v_writelane_b32_e64: {
if (ctx.VALU_wrsgpr + 4 < new_idx)
break;
PhysReg reg = instr->operands[1].physReg();