diff --git a/src/amd/compiler/instruction_selection/aco_select_nir_alu.cpp b/src/amd/compiler/instruction_selection/aco_select_nir_alu.cpp index 59f3451ba95..2faa95d9b38 100644 --- a/src/amd/compiler/instruction_selection/aco_select_nir_alu.cpp +++ b/src/amd/compiler/instruction_selection/aco_select_nir_alu.cpp @@ -865,7 +865,7 @@ visit_alu_instr(isel_context* ctx, nir_alu_instr* instr) break; } case nir_op_mov: { - Temp src = get_alu_src(ctx, instr->src[0]); + Temp src = get_alu_src(ctx, instr->src[0], instr->def.num_components); if (src.type() == RegType::vgpr && dst.type() == RegType::sgpr) { /* use size() instead of bytes() for 8/16-bit */ assert(src.size() == dst.size() && "wrong src or dst register class for nir_op_mov");