From ba844a24033f9b655c395ccbc938f3a7cf45b644 Mon Sep 17 00:00:00 2001 From: 4l0n50 Date: Wed, 12 Apr 2023 17:35:32 +0200 Subject: [PATCH] Change shl/shr behavior as well as BASIC_TERNARY_OP --- evm/src/cpu/cpu_stark.rs | 4 ++-- evm/src/cpu/stack.rs | 14 +++++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/evm/src/cpu/cpu_stark.rs b/evm/src/cpu/cpu_stark.rs index 09c7d576..74e8fbd7 100644 --- a/evm/src/cpu/cpu_stark.rs +++ b/evm/src/cpu/cpu_stark.rs @@ -156,7 +156,7 @@ impl, const D: usize> Stark for CpuStark, const D: usize> Stark for CpuStark = Some(StackBehavior { disable_other_channels: true, }); const BASIC_TERNARY_OP: Option = Some(StackBehavior { - num_pops: 2, + num_pops: 3, pushes: true, disable_other_channels: true, }); @@ -60,8 +60,16 @@ const STACK_BEHAVIORS: OpsColumnsView> = OpsColumnsView { xor: BASIC_BINARY_OP, not: BASIC_UNARY_OP, byte: BASIC_BINARY_OP, - shl: BASIC_BINARY_OP, - shr: BASIC_BINARY_OP, + shl: Some(StackBehavior { + num_pops: 2, + pushes: true, + disable_other_channels: false, + }), + shr: Some(StackBehavior { + num_pops: 2, + pushes: true, + disable_other_channels: false, + }), keccak_general: None, // TODO prover_input: None, // TODO pop: None, // TODO