diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 55e6a13625c..5650dfe6ffa 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -7092,6 +7092,9 @@ visit_store_buffer(isel_context* ctx, nir_intrinsic_instr* intrin) unsigned const_offset = resolve_excess_vmem_const_offset( bld, write_voffset, offsets[i] + nir_intrinsic_base(intrin)); + /* write_voffset may be updated in resolve_excess_vmem_const_offset(). */ + offen = write_voffset.id(); + Operand vaddr_op(v1); if (offen && idxen) vaddr_op = bld.pseudo(aco_opcode::p_create_vector, bld.def(v2), idx, write_voffset);