Skip to content

Commit f937ae0

Browse files
committed
testing rv32 with access_adapter disbaled: loadstore negative test
1 parent fef4a58 commit f937ae0

File tree

1 file changed

+10
-4
lines changed
  • extensions/rv32im/circuit/src/loadstore

1 file changed

+10
-4
lines changed

extensions/rv32im/circuit/src/loadstore/tests.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use openvm_circuit::{
1010
},
1111
};
1212
use openvm_circuit_primitives::var_range::VariableRangeCheckerChip;
13-
use openvm_instructions::{instruction::Instruction, riscv::RV32_REGISTER_AS, LocalOpcode};
13+
use openvm_instructions::{instruction::Instruction, riscv::RV32_REGISTER_AS, LocalOpcode, NATIVE_AS};
1414
use openvm_rv32im_transpiler::Rv32LoadStoreOpcode::{self, *};
1515
use openvm_stark_backend::{
1616
p3_air::BaseAir,
@@ -131,7 +131,8 @@ fn set_and_execute<RA: Arena, E: PreflightExecutor<F, RA>>(
131131
let mem_as = mem_as.unwrap_or(if is_load {
132132
2
133133
} else {
134-
*[2, 3, 4].choose(rng).unwrap()
134+
// Avoid Native AS while access adapters are disabled.
135+
*[2, 3].choose(rng).unwrap()
135136
});
136137

137138
let shift_amount = ptr_val % 4;
@@ -215,10 +216,13 @@ fn rand_loadstore_test(opcode: Rv32LoadStoreOpcode, num_ops: usize) {
215216
let mut rng = create_seeded_rng();
216217
let mut mem_config = MemoryConfig::default();
217218
mem_config.addr_spaces[RV32_REGISTER_AS as usize].num_cells = 1 << 29;
219+
mem_config.addr_spaces[NATIVE_AS as usize].num_cells = 0;
218220
if [STOREW, STOREB, STOREH].contains(&opcode) {
219221
mem_config.addr_spaces[PUBLIC_VALUES_AS as usize].num_cells = 1 << 29;
220222
}
221-
let mut tester = VmChipTestBuilder::volatile(mem_config);
223+
// Use persistent memory so initial block size matches the 4-byte alignment and
224+
// avoids access-adapter split/merge paths when adapters are disabled.
225+
let mut tester = VmChipTestBuilder::persistent(mem_config);
222226
let mut harness = create_harness(&mut tester);
223227

224228
for _ in 0..num_ops {
@@ -268,10 +272,12 @@ fn run_negative_loadstore_test(
268272
let mut rng = create_seeded_rng();
269273
let mut mem_config = MemoryConfig::default();
270274
mem_config.addr_spaces[RV32_REGISTER_AS as usize].num_cells = 1 << 29;
275+
mem_config.addr_spaces[NATIVE_AS as usize].num_cells = 0;
271276
if [STOREW, STOREB, STOREH].contains(&opcode) {
272277
mem_config.addr_spaces[PUBLIC_VALUES_AS as usize].num_cells = 1 << 29;
273278
}
274-
let mut tester = VmChipTestBuilder::volatile(mem_config);
279+
// Use persistent memory so the min block size matches alignment without needing adapters.
280+
let mut tester = VmChipTestBuilder::persistent(mem_config);
275281
let mut harness = create_harness(&mut tester);
276282

277283
set_and_execute(

0 commit comments

Comments
 (0)