@@ -173,7 +173,8 @@ class AvmMemOpcodeTests : public ::testing::Test {
173
173
uint32_t dst_offset,
174
174
AvmMemoryTag tag,
175
175
uint32_t dir_src_offset = 0 ,
176
- uint32_t dir_dst_offset = 0 )
176
+ uint32_t dir_dst_offset = 0 ,
177
+ bool indirect_uninitialized = false )
177
178
{
178
179
compute_mov_indices (indirect);
179
180
FF const val_ff = uint256_t::from_uint128 (val);
@@ -220,7 +221,9 @@ class AvmMemOpcodeTests : public ::testing::Test {
220
221
EXPECT_THAT (mem_ind_a_row,
221
222
AllOf (MEM_ROW_FIELD_EQ (tag_err, 0 ),
222
223
MEM_ROW_FIELD_EQ (r_in_tag, static_cast <uint32_t >(AvmMemoryTag::U32)),
223
- MEM_ROW_FIELD_EQ (tag, static_cast <uint32_t >(AvmMemoryTag::U32)),
224
+ MEM_ROW_FIELD_EQ (tag,
225
+ indirect_uninitialized ? static_cast <uint32_t >(AvmMemoryTag::U0)
226
+ : static_cast <uint32_t >(AvmMemoryTag::U32)),
224
227
MEM_ROW_FIELD_EQ (addr, src_offset),
225
228
MEM_ROW_FIELD_EQ (val, dir_src_offset),
226
229
MEM_ROW_FIELD_EQ (sel_resolve_ind_addr_a, 1 )));
@@ -376,7 +379,7 @@ TEST_F(AvmMemOpcodeTests, indUninitializedValueMov)
376
379
trace_builder.return_op (0 , 0 , 0 );
377
380
trace = trace_builder.finalize ();
378
381
379
- validate_mov_trace (true , 0 , 2 , 3 , AvmMemoryTag::U0, 0 , 1 );
382
+ validate_mov_trace (true , 0 , 2 , 3 , AvmMemoryTag::U0, 0 , 1 , true );
380
383
}
381
384
382
385
TEST_F (AvmMemOpcodeTests, indirectMov)
0 commit comments