Fix `vstq` address offset error

PiperOrigin-RevId: 577205259
diff --git a/sim/kelvin_vector_memory_instructions.cc b/sim/kelvin_vector_memory_instructions.cc
index 775bb7b..be16c35 100644
--- a/sim/kelvin_vector_memory_instructions.cc
+++ b/sim/kelvin_vector_memory_instructions.cc
@@ -212,8 +212,7 @@
       const uint32_t quad_size = elts_per_register / 4;
       for (int i = 0; i < 4; ++i) {
         for (int j = 0; j < quad_size && address_index < elts_to_store; ++j) {
-          addresses[address_index] =
-              base_addr + (i * quad_size + j) * sizeof(T);
+          addresses[address_index] = base_addr + j * sizeof(T);
           value[address_index] = source_span[i * quad_size + j];
           mask[address_index++] = true;
         }
diff --git a/sim/test/kelvin_vector_memory_instructions_test.cc b/sim/test/kelvin_vector_memory_instructions_test.cc
index 4c79c85..d236426 100644
--- a/sim/test/kelvin_vector_memory_instructions_test.cc
+++ b/sim/test/kelvin_vector_memory_instructions_test.cc
@@ -184,8 +184,7 @@
           for (int i = 0; i < 4; ++i) {
             for (int j = 0; j < quad_size; ++j) {
               memory_values[op_num * vd_size + i * quad_size + j] =
-                  GetSavedMemoryValue<T>(addr +
-                                         (i * quad_size + j) * sizeof(T));
+                  GetSavedMemoryValue<T>(addr + j * sizeof(T));
             }
             // Stride increase per quad_size.
             addr += rs2_value * sizeof(T);