diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 542c17750b4..bf727e2d5ad 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -4448,11 +4448,11 @@ select_instruction(opt_ctx& ctx, aco_ptr& instr) if (op.isTemp()) ctx.uses[op.tempId()]++; - aco_ptr extract{ - create_instruction(aco_opcode::p_create_vector, Format::PSEUDO, 1, 1)}; - extract->operands[0] = op; - extract->definitions[0] = instr->definitions[idx]; - instr = std::move(extract); + aco_ptr copy{ + create_instruction(aco_opcode::p_parallelcopy, Format::PSEUDO, 1, 1)}; + copy->operands[0] = op; + copy->definitions[0] = instr->definitions[idx]; + instr = std::move(copy); done = true; }