Skip to content

perf(evm): reuse CFG memory proofs for KECCAK expansion - #582

Merged
zoowii merged 2 commits into
DTVMStack:mainfrom
ECNUyhy:codex/keccak-cfg-proof-20260728
Jul 29, 2026
Merged

perf(evm): reuse CFG memory proofs for KECCAK expansion#582
zoowii merged 2 commits into
DTVMStack:mainfrom
ECNUyhy:codex/keccak-cfg-proof-20260728

Conversation

@ECNUyhy

@ECNUyhy ECNUyhy commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

  • N
  • Y

2. What is the scope of this PR (e.g. component or file name):

  • src/compiler/evm_frontend/evm_memory_analysis.h
  • src/compiler/evm_frontend/evm_mir_compiler.cpp
  • src/tests/evm_jit_frontend_tests.cpp
  • src/tests/evm_differential_tests.cpp

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

  • Affects user behaviors
  • Contains CI/CD configuration changes
  • Contains documentation changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

This PR connects the CFG memory analysis added by #572 to the generic KECCAK256 lowering path.

The first commit teaches MemoryGuaranteedMinBytesAnalysis that a non-empty constant KECCAK range proves memory through its read end and propagates that guarantee through the CFG. Zero-length ranges remain non-expanding.

The second commit consumes the guarantee at the exact KECCAK opcode PC. When constant offset and length are already covered, multipass JIT elides the redundant ExpandMemoryNoGas IR call. Uncovered, dynamic, overflow, and zero-length cases keep their existing fallback behavior. KECCAK word-gas charging remains in its original order.

The branch contains exactly two Conventional Commits. A local merge simulation with #580 is conflict-free in either order, and the combined tree builds successfully.

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • N
  • Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • Unit test
  • Integration test
  • Benchmark (add benchmark stats below)
  • Manual test (add detailed scripts or steps below)
  • Other

Added coverage for:

  • same-block and cross-block KECCAK guarantee propagation
  • zero-length KECCAK handling
  • covered and uncovered KECCAK expansion IR counts
  • exact-opcode-PC proof reuse across consecutive KECCAK operations
  • interpreter/multipass hash output and gas equality
  • KECCAK dynamic word-gas out-of-gas boundary

Validation:

  • ./tools/format.sh format
  • ./tools/format.sh check
  • evmJitFrontendTests: 113/113 passed on this branch
  • EVMKeccakMemoryProofDifferential.*: 2/2 passed
  • combined perf(evm): reuse CFG memory proofs for COPY expansion #580 + this branch: 116/116 frontend tests and 2/2 KECCAK differential tests passed

6. Release note

Improve multipass JIT KECCAK memory expansion lowering by reusing CFG memory guarantees.

ECNUyhy added 2 commits July 28, 2026 09:02
Teach the guaranteed-minimum analysis that a non-empty constant KECCAK
range expands logical EVM memory through its read end. Preserve zero-length
behavior and propagate the resulting proof within and across analyzer blocks
for later lowering consumers.
Reuse guaranteed minimum memory facts at the exact KECCAK opcode PC to
elide redundant pre-expansion while preserving dynamic word gas charging.

Add MIR and differential coverage for cross-block reuse, fallback
expansion, hash output, gas equality, and the word-gas OOG boundary.
@github-actions

Copy link
Copy Markdown

⚡ Performance Regression Check Results

✅ Performance Check Passed (interpreter)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 2.43 2.61 +7.3% PASS
total/main/blake2b_huff/empty 0.04 0.04 +1.3% PASS
total/main/blake2b_shifts/8415nulls 16.38 15.78 -3.7% PASS
total/main/sha1_divs/5311 8.10 7.97 -1.6% PASS
total/main/sha1_divs/empty 0.10 0.10 -0.8% PASS
total/main/sha1_shifts/5311 5.46 5.34 -2.0% PASS
total/main/sha1_shifts/empty 0.04 0.04 -5.1% PASS
total/main/snailtracer/benchmark 86.53 88.78 +2.6% PASS
total/main/structarray_alloc/nfts_rank 1.11 1.11 +0.3% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -2.4% PASS
total/main/swap_math/received 0.01 0.01 +2.9% PASS
total/main/swap_math/spent 0.01 0.01 +1.7% PASS
total/main/weierstrudel/1 0.30 0.31 +1.6% PASS
total/main/weierstrudel/15 3.34 3.44 +2.9% PASS
total/micro/JUMPDEST_n0/empty 2.68 2.64 -1.6% PASS
total/micro/jump_around/empty 0.11 0.11 +0.6% PASS
total/micro/loop_with_many_jumpdests/empty 69.01 69.21 +0.3% PASS
total/micro/memory_grow_mload/by1 0.17 0.17 +2.4% PASS
total/micro/memory_grow_mload/by16 0.19 0.19 +0.3% PASS
total/micro/memory_grow_mload/by32 0.11 0.11 -0.7% PASS
total/micro/memory_grow_mload/nogrow 0.09 0.09 +0.0% PASS
total/micro/memory_grow_mstore/by1 0.19 0.18 -3.3% PASS
total/micro/memory_grow_mstore/by16 0.11 0.11 -0.7% PASS
total/micro/memory_grow_mstore/by32 0.23 0.23 +1.7% PASS
total/micro/memory_grow_mstore/nogrow 0.19 0.18 -4.4% PASS
total/micro/signextend/one 0.31 0.26 -16.0% PASS
total/micro/signextend/zero 0.47 0.49 +4.4% PASS
total/synth/ADD/b0 2.30 2.30 -0.1% PASS
total/synth/ADD/b1 2.66 2.60 -2.3% PASS
total/synth/ADDRESS/a0 6.18 6.19 +0.1% PASS
total/synth/ADDRESS/a1 5.12 5.09 -0.5% PASS
total/synth/AND/b0 2.15 2.15 +0.0% PASS
total/synth/AND/b1 2.22 2.23 +1.0% PASS
total/synth/BYTE/b0 6.15 6.16 +0.1% PASS
total/synth/BYTE/b1 8.61 7.97 -7.4% PASS
total/synth/CALLDATASIZE/a0 5.17 5.33 +3.1% PASS
total/synth/CALLDATASIZE/a1 3.38 3.38 -0.1% PASS
total/synth/CALLER/a0 5.76 6.03 +4.8% PASS
total/synth/CALLER/a1 6.24 6.17 -1.0% PASS
total/synth/CALLVALUE/a0 3.53 3.52 -0.2% PASS
total/synth/CALLVALUE/a1 6.14 5.80 -5.6% PASS
total/synth/CODESIZE/a0 6.14 6.14 -0.0% PASS
total/synth/CODESIZE/a1 6.67 5.90 -11.5% PASS
total/synth/DUP1/d0 1.52 1.52 +0.2% PASS
total/synth/DUP1/d1 1.82 1.66 -8.9% PASS
total/synth/DUP10/d0 1.54 1.50 -2.2% PASS
total/synth/DUP10/d1 1.74 1.71 -1.8% PASS
total/synth/DUP11/d0 1.08 0.85 -21.9% PASS
total/synth/DUP11/d1 1.74 1.77 +2.2% PASS
total/synth/DUP12/d0 1.59 1.69 +6.3% PASS
total/synth/DUP12/d1 1.08 1.06 -2.3% PASS
total/synth/DUP13/d0 1.68 1.53 -8.7% PASS
total/synth/DUP13/d1 1.70 1.76 +3.8% PASS
total/synth/DUP14/d0 1.09 0.92 -15.8% PASS
total/synth/DUP14/d1 1.77 1.73 -2.4% PASS
total/synth/DUP15/d0 1.70 1.51 -10.9% PASS
total/synth/DUP15/d1 1.06 1.05 -0.5% PASS
total/synth/DUP16/d0 1.81 1.54 -14.8% PASS
total/synth/DUP16/d1 1.74 1.71 -1.7% PASS
total/synth/DUP2/d0 1.07 0.82 -22.8% PASS
total/synth/DUP2/d1 1.73 1.75 +1.4% PASS
total/synth/DUP3/d0 1.50 1.50 -0.1% PASS
total/synth/DUP3/d1 1.08 1.04 -3.1% PASS
total/synth/DUP4/d0 1.55 1.61 +3.4% PASS
total/synth/DUP4/d1 1.84 1.65 -10.4% PASS
total/synth/DUP5/d0 1.06 1.07 +0.8% PASS
total/synth/DUP5/d1 1.67 1.76 +5.6% PASS
total/synth/DUP6/d0 1.62 1.51 -7.2% PASS
total/synth/DUP6/d1 1.05 1.04 -1.0% PASS
total/synth/DUP7/d0 1.65 1.58 -4.3% PASS
total/synth/DUP7/d1 1.73 1.64 -5.4% PASS
total/synth/DUP8/d0 1.06 0.84 -21.2% PASS
total/synth/DUP8/d1 1.67 1.93 +15.6% PASS
total/synth/DUP9/d0 1.51 1.69 +11.8% PASS
total/synth/DUP9/d1 1.05 1.05 -0.2% PASS
total/synth/EQ/b0 4.54 4.53 -0.3% PASS
total/synth/EQ/b1 4.90 4.86 -0.8% PASS
total/synth/GAS/a0 3.89 3.85 -0.8% PASS
total/synth/GAS/a1 7.13 6.96 -2.3% PASS
total/synth/GT/b0 4.82 4.84 +0.5% PASS
total/synth/GT/b1 4.99 4.99 -0.2% PASS
total/synth/ISZERO/u0 7.12 7.05 -0.9% PASS
total/synth/JUMPDEST/n0 2.69 2.64 -1.9% PASS
total/synth/LT/b0 4.82 4.81 -0.2% PASS
total/synth/LT/b1 4.40 4.38 -0.3% PASS
total/synth/MSIZE/a0 5.29 5.49 +3.8% PASS
total/synth/MSIZE/a1 5.60 5.63 +0.5% PASS
total/synth/MUL/b0 5.55 5.60 +0.9% PASS
total/synth/MUL/b1 5.37 5.35 -0.4% PASS
total/synth/NOT/u0 1.85 1.85 -0.3% PASS
total/synth/OR/b0 2.17 2.13 -1.7% PASS
total/synth/OR/b1 1.80 1.77 -1.7% PASS
total/synth/PC/a0 5.55 5.44 -2.0% PASS
total/synth/PC/a1 3.46 3.44 -0.5% PASS
total/synth/PUSH1/p0 2.02 1.88 -6.8% PASS
total/synth/PUSH1/p1 1.65 1.63 -0.7% PASS
total/synth/PUSH10/p0 1.82 1.96 +7.9% PASS
total/synth/PUSH10/p1 1.65 1.65 +0.4% PASS
total/synth/PUSH11/p0 1.90 1.99 +4.8% PASS
total/synth/PUSH11/p1 2.05 1.92 -6.4% PASS
total/synth/PUSH12/p0 1.20 1.20 +0.1% PASS
total/synth/PUSH12/p1 2.09 2.01 -3.7% PASS
total/synth/PUSH13/p0 1.87 1.79 -4.4% PASS
total/synth/PUSH13/p1 1.65 1.64 -0.5% PASS
total/synth/PUSH14/p0 2.02 2.00 -0.8% PASS
total/synth/PUSH14/p1 2.03 2.03 +0.2% PASS
total/synth/PUSH15/p0 1.20 1.19 -0.2% PASS
total/synth/PUSH15/p1 2.16 2.68 +23.9% PASS
total/synth/PUSH16/p0 1.82 1.84 +0.8% PASS
total/synth/PUSH16/p1 1.64 1.65 +0.4% PASS
total/synth/PUSH17/p0 1.91 1.81 -5.1% PASS
total/synth/PUSH17/p1 2.23 2.10 -5.8% PASS
total/synth/PUSH18/p0 1.20 1.20 -0.0% PASS
total/synth/PUSH18/p1 2.15 1.95 -9.1% PASS
total/synth/PUSH19/p0 1.97 2.04 +3.7% PASS
total/synth/PUSH19/p1 1.65 1.63 -1.0% PASS
total/synth/PUSH2/p0 1.80 1.83 +1.4% PASS
total/synth/PUSH2/p1 2.01 1.98 -1.1% PASS
total/synth/PUSH20/p0 1.77 1.94 +9.2% PASS
total/synth/PUSH20/p1 2.14 2.07 -3.6% PASS
total/synth/PUSH21/p0 1.20 1.20 -0.1% PASS
total/synth/PUSH21/p1 1.98 2.04 +2.7% PASS
total/synth/PUSH22/p0 1.97 1.87 -5.1% PASS
total/synth/PUSH22/p1 1.66 1.64 -1.5% PASS
total/synth/PUSH23/p0 1.85 1.77 -4.1% PASS
total/synth/PUSH23/p1 2.23 2.06 -7.7% PASS
total/synth/PUSH24/p0 1.20 1.21 +0.9% PASS
total/synth/PUSH24/p1 2.31 1.97 -14.9% PASS
total/synth/PUSH25/p0 1.84 1.85 +0.6% PASS
total/synth/PUSH25/p1 1.65 1.63 -0.8% PASS
total/synth/PUSH26/p0 2.07 1.95 -5.7% PASS
total/synth/PUSH26/p1 2.08 2.07 -0.4% PASS
total/synth/PUSH27/p0 1.19 1.20 +0.1% PASS
total/synth/PUSH27/p1 2.09 2.14 +2.4% PASS
total/synth/PUSH28/p0 1.85 1.87 +1.5% PASS
total/synth/PUSH28/p1 1.67 1.64 -1.6% PASS
total/synth/PUSH29/p0 1.83 2.06 +12.7% PASS
total/synth/PUSH29/p1 1.96 2.19 +11.6% PASS
total/synth/PUSH3/p0 1.20 1.20 +0.4% PASS
total/synth/PUSH3/p1 2.03 2.07 +2.3% PASS
total/synth/PUSH30/p0 1.27 1.26 -0.9% PASS
total/synth/PUSH30/p1 2.10 2.32 +10.5% PASS
total/synth/PUSH31/p0 1.89 1.81 -4.4% PASS
total/synth/PUSH31/p1 1.72 1.65 -3.6% PASS
total/synth/PUSH32/p0 1.88 2.01 +6.6% PASS
total/synth/PUSH32/p1 2.00 2.00 -0.1% PASS
total/synth/PUSH4/p0 1.82 1.87 +2.8% PASS
total/synth/PUSH4/p1 1.64 1.64 -0.2% PASS
total/synth/PUSH5/p0 1.82 1.75 -3.3% PASS
total/synth/PUSH5/p1 2.00 2.14 +6.8% PASS
total/synth/PUSH6/p0 1.20 1.20 +0.3% PASS
total/synth/PUSH6/p1 2.05 2.04 -0.5% PASS
total/synth/PUSH7/p0 1.80 1.99 +10.6% PASS
total/synth/PUSH7/p1 1.64 1.63 -0.7% PASS
total/synth/PUSH8/p0 1.88 1.78 -5.3% PASS
total/synth/PUSH8/p1 2.03 2.04 +0.7% PASS
total/synth/PUSH9/p0 1.20 1.20 +0.0% PASS
total/synth/PUSH9/p1 1.98 2.08 +5.0% PASS
total/synth/RETURNDATASIZE/a0 3.36 3.35 -0.2% PASS
total/synth/RETURNDATASIZE/a1 5.93 6.14 +3.4% PASS
total/synth/SAR/b0 3.98 3.98 +0.1% PASS
total/synth/SAR/b1 7.46 7.22 -3.1% PASS
total/synth/SGT/b0 3.62 3.62 +0.2% PASS
total/synth/SGT/b1 3.43 3.40 -1.0% PASS
total/synth/SHL/b0 3.62 3.71 +2.4% PASS
total/synth/SHL/b1 1.89 1.86 -1.2% PASS
total/synth/SHR/b0 3.78 3.76 -0.5% PASS
total/synth/SHR/b1 3.23 3.27 +1.3% PASS
total/synth/SIGNEXTEND/b0 4.19 3.16 -24.5% PASS
total/synth/SIGNEXTEND/b1 6.36 6.40 +0.6% PASS
total/synth/SLT/b0 3.44 3.44 +0.1% PASS
total/synth/SLT/b1 3.74 3.78 +1.1% PASS
total/synth/SUB/b0 2.75 2.67 -3.0% PASS
total/synth/SUB/b1 2.73 2.65 -2.8% PASS
total/synth/SWAP1/s0 1.51 1.51 +0.0% PASS
total/synth/SWAP10/s0 1.52 1.52 -0.1% PASS
total/synth/SWAP11/s0 2.69 2.64 -1.9% PASS
total/synth/SWAP12/s0 2.71 2.76 +1.7% PASS
total/synth/SWAP13/s0 1.57 1.52 -2.6% PASS
total/synth/SWAP14/s0 2.70 2.65 -1.8% PASS
total/synth/SWAP15/s0 2.67 2.56 -4.1% PASS
total/synth/SWAP16/s0 1.53 1.53 -0.0% PASS
total/synth/SWAP2/s0 2.61 2.67 +2.5% PASS
total/synth/SWAP3/s0 2.63 2.60 -0.9% PASS
total/synth/SWAP4/s0 1.51 1.51 -0.2% PASS
total/synth/SWAP5/s0 2.69 2.77 +2.8% PASS
total/synth/SWAP6/s0 2.68 2.75 +2.6% PASS
total/synth/SWAP7/s0 1.52 1.52 +0.3% PASS
total/synth/SWAP8/s0 2.74 2.75 +0.2% PASS
total/synth/SWAP9/s0 2.75 2.67 -2.8% PASS
total/synth/XOR/b0 2.00 2.15 +7.7% PASS
total/synth/XOR/b1 2.15 2.21 +2.7% PASS
total/synth/loop_v1 8.67 8.70 +0.3% PASS
total/synth/loop_v2 9.16 9.01 -1.6% PASS

Summary: 194 benchmarks, 0 regressions


✅ Performance Check Passed (multipass)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 1.27 1.27 -0.1% PASS
total/main/blake2b_huff/empty 0.02 0.02 -2.4% PASS
total/main/blake2b_shifts/8415nulls 4.30 4.30 -0.1% PASS
total/main/sha1_divs/5311 0.88 0.88 -0.5% PASS
total/main/sha1_divs/empty 0.01 0.01 +0.0% PASS
total/main/sha1_shifts/5311 0.77 0.77 +0.1% PASS
total/main/sha1_shifts/empty 0.01 0.01 +0.4% PASS
total/main/structarray_alloc/nfts_rank 0.26 0.26 +1.2% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -0.1% PASS
total/main/swap_math/received 0.01 0.01 -2.3% PASS
total/main/swap_math/spent 0.00 0.00 -0.8% PASS
total/main/weierstrudel/1 0.33 0.32 -2.4% PASS
total/main/weierstrudel/15 3.66 3.67 +0.2% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 +0.0% PASS
total/micro/jump_around/empty 0.08 0.07 -10.8% PASS
total/micro/loop_with_many_jumpdests/empty 0.01 0.01 +0.0% PASS
total/micro/memory_grow_mload/by1 0.02 0.02 -4.3% PASS
total/micro/memory_grow_mload/by16 0.02 0.02 +0.3% PASS
total/micro/memory_grow_mload/by32 0.01 0.01 -0.0% PASS
total/micro/memory_grow_mload/nogrow 0.01 0.01 -1.9% PASS
total/micro/memory_grow_mstore/by1 0.12 0.12 -0.0% PASS
total/micro/memory_grow_mstore/by16 0.08 0.08 +0.9% PASS
total/micro/memory_grow_mstore/by32 0.17 0.17 +1.2% PASS
total/micro/memory_grow_mstore/nogrow 0.11 0.12 +7.1% PASS
total/micro/signextend/one 0.07 0.07 -1.8% PASS
total/micro/signextend/zero 0.16 0.17 +5.3% PASS
total/synth/ADD/b0 0.00 0.00 +0.1% PASS
total/synth/ADD/b1 0.00 0.00 +0.2% PASS
total/synth/ADDRESS/a0 0.22 0.26 +17.7% PASS
total/synth/ADDRESS/a1 0.15 0.15 -0.2% PASS
total/synth/AND/b0 0.00 0.00 -0.3% PASS
total/synth/AND/b1 0.00 0.00 +0.6% PASS
total/synth/BYTE/b0 0.00 0.00 -0.0% PASS
total/synth/BYTE/b1 0.00 0.00 +0.3% PASS
total/synth/CALLDATASIZE/a0 0.12 0.12 +0.5% PASS
total/synth/CALLDATASIZE/a1 0.07 0.07 +0.0% PASS
total/synth/CALLER/a0 0.22 0.23 +4.7% PASS
total/synth/CALLER/a1 0.22 0.22 -0.3% PASS
total/synth/CALLVALUE/a0 0.19 0.19 +0.5% PASS
total/synth/CALLVALUE/a1 0.29 0.28 -2.6% PASS
total/synth/CODESIZE/a0 0.13 0.13 +6.2% PASS
total/synth/CODESIZE/a1 0.12 0.12 +0.2% PASS
total/synth/DUP1/d0 0.00 0.00 -0.7% PASS
total/synth/DUP1/d1 0.00 0.00 +0.1% PASS
total/synth/DUP10/d0 0.00 0.00 -0.6% PASS
total/synth/DUP10/d1 0.00 0.00 +0.2% PASS
total/synth/DUP11/d0 0.00 0.00 -0.0% PASS
total/synth/DUP11/d1 0.00 0.00 -0.1% PASS
total/synth/DUP12/d0 0.00 0.00 -0.1% PASS
total/synth/DUP12/d1 0.00 0.00 -0.2% PASS
total/synth/DUP13/d0 0.00 0.00 -0.3% PASS
total/synth/DUP13/d1 0.00 0.00 +0.1% PASS
total/synth/DUP14/d0 0.00 0.00 -0.1% PASS
total/synth/DUP14/d1 0.00 0.00 -0.6% PASS
total/synth/DUP15/d0 0.00 0.00 -1.6% PASS
total/synth/DUP15/d1 0.00 0.00 +0.4% PASS
total/synth/DUP16/d0 0.00 0.00 +1.3% PASS
total/synth/DUP16/d1 0.00 0.00 -0.3% PASS
total/synth/DUP2/d0 0.00 0.00 +0.4% PASS
total/synth/DUP2/d1 0.00 0.00 -0.4% PASS
total/synth/DUP3/d0 0.00 0.00 -0.5% PASS
total/synth/DUP3/d1 0.00 0.00 +0.6% PASS
total/synth/DUP4/d0 0.00 0.00 +0.2% PASS
total/synth/DUP4/d1 0.00 0.00 +0.5% PASS
total/synth/DUP5/d0 0.00 0.00 +0.2% PASS
total/synth/DUP5/d1 0.00 0.00 -0.1% PASS
total/synth/DUP6/d0 0.00 0.00 +2.2% PASS
total/synth/DUP6/d1 0.00 0.00 +0.2% PASS
total/synth/DUP7/d0 0.00 0.00 +2.1% PASS
total/synth/DUP7/d1 0.00 0.00 +0.4% PASS
total/synth/DUP8/d0 0.00 0.00 +0.5% PASS
total/synth/DUP8/d1 0.00 0.00 +0.1% PASS
total/synth/DUP9/d0 0.00 0.00 -0.5% PASS
total/synth/DUP9/d1 0.00 0.00 -0.1% PASS
total/synth/EQ/b0 0.00 0.00 -0.1% PASS
total/synth/EQ/b1 0.00 0.00 +1.1% PASS
total/synth/GAS/a0 0.76 0.76 +0.1% PASS
total/synth/GAS/a1 0.93 0.93 -0.1% PASS
total/synth/GT/b0 0.00 0.00 -0.2% PASS
total/synth/GT/b1 0.00 0.00 -1.5% PASS
total/synth/ISZERO/u0 0.00 0.00 +0.5% PASS
total/synth/JUMPDEST/n0 0.00 0.00 +0.1% PASS
total/synth/LT/b0 0.00 0.00 -0.0% PASS
total/synth/LT/b1 0.00 0.00 -0.5% PASS
total/synth/MSIZE/a0 0.00 0.00 -0.5% PASS
total/synth/MSIZE/a1 0.00 0.00 +0.2% PASS
total/synth/MUL/b0 0.00 0.00 +1.2% PASS
total/synth/MUL/b1 0.00 0.00 -0.7% PASS
total/synth/NOT/u0 0.00 0.00 -1.1% PASS
total/synth/OR/b0 0.00 0.00 +0.9% PASS
total/synth/OR/b1 0.00 0.00 -0.1% PASS
total/synth/PC/a0 0.00 0.00 +0.1% PASS
total/synth/PC/a1 0.00 0.00 -0.2% PASS
total/synth/PUSH1/p0 0.00 0.00 -1.9% PASS
total/synth/PUSH1/p1 0.00 0.00 -0.2% PASS
total/synth/PUSH10/p0 0.00 0.00 +2.0% PASS
total/synth/PUSH10/p1 0.00 0.00 -0.2% PASS
total/synth/PUSH11/p0 0.00 0.00 -0.4% PASS
total/synth/PUSH11/p1 0.00 0.00 -0.4% PASS
total/synth/PUSH12/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH12/p1 0.00 0.00 -3.8% PASS
total/synth/PUSH13/p0 0.00 0.00 +3.7% PASS
total/synth/PUSH13/p1 0.00 0.00 +1.9% PASS
total/synth/PUSH14/p0 0.00 0.00 +5.2% PASS
total/synth/PUSH14/p1 0.00 0.00 +1.4% PASS
total/synth/PUSH15/p0 0.00 0.00 -0.3% PASS
total/synth/PUSH15/p1 0.00 0.00 +2.2% PASS
total/synth/PUSH16/p0 0.00 0.00 -1.0% PASS
total/synth/PUSH16/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH17/p0 0.00 0.00 -1.2% PASS
total/synth/PUSH17/p1 0.00 0.00 -0.2% PASS
total/synth/PUSH18/p0 0.00 0.00 +0.8% PASS
total/synth/PUSH18/p1 0.00 0.00 +1.1% PASS
total/synth/PUSH19/p0 0.00 0.00 -1.2% PASS
total/synth/PUSH19/p1 0.00 0.00 -0.4% PASS
total/synth/PUSH2/p0 0.00 0.00 -0.8% PASS
total/synth/PUSH2/p1 0.00 0.00 -1.3% PASS
total/synth/PUSH20/p0 0.00 0.00 -0.5% PASS
total/synth/PUSH20/p1 0.00 0.00 +1.1% PASS
total/synth/PUSH21/p0 0.00 0.00 +0.0% PASS
total/synth/PUSH21/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH22/p0 1.69 1.69 +0.1% PASS
total/synth/PUSH22/p1 1.64 1.64 +0.2% PASS
total/synth/PUSH23/p0 1.66 1.69 +1.9% PASS
total/synth/PUSH23/p1 1.91 1.93 +1.3% PASS
total/synth/PUSH24/p0 1.20 1.20 -0.1% PASS
total/synth/PUSH24/p1 1.89 1.89 -0.3% PASS
total/synth/PUSH25/p0 1.67 1.66 -0.6% PASS
total/synth/PUSH25/p1 1.64 1.63 -0.4% PASS
total/synth/PUSH26/p0 1.66 1.66 +0.3% PASS
total/synth/PUSH26/p1 1.91 1.91 -0.0% PASS
total/synth/PUSH27/p0 1.20 1.20 -0.2% PASS
total/synth/PUSH27/p1 1.88 1.88 +0.0% PASS
total/synth/PUSH28/p0 1.72 1.70 -1.5% PASS
total/synth/PUSH28/p1 1.64 1.64 -0.1% PASS
total/synth/PUSH29/p0 1.67 1.68 +0.7% PASS
total/synth/PUSH29/p1 1.85 1.86 +0.5% PASS
total/synth/PUSH3/p0 0.00 0.00 -1.2% PASS
total/synth/PUSH3/p1 0.00 0.00 -1.3% PASS
total/synth/PUSH30/p0 1.36 1.33 -2.5% PASS
total/synth/PUSH30/p1 1.83 1.92 +5.3% PASS
total/synth/PUSH31/p0 1.66 1.67 +0.1% PASS
total/synth/PUSH31/p1 1.68 1.81 +7.4% PASS
total/synth/PUSH32/p0 1.71 1.69 -1.3% PASS
total/synth/PUSH32/p1 1.94 2.15 +11.0% PASS
total/synth/PUSH4/p0 0.00 0.00 -3.1% PASS
total/synth/PUSH4/p1 0.00 0.00 -0.1% PASS
total/synth/PUSH5/p0 0.00 0.00 -0.5% PASS
total/synth/PUSH5/p1 0.00 0.00 -3.1% PASS
total/synth/PUSH6/p0 0.00 0.00 +0.1% PASS
total/synth/PUSH6/p1 0.00 0.00 -0.9% PASS
total/synth/PUSH7/p0 0.00 0.00 -2.3% PASS
total/synth/PUSH7/p1 0.00 0.00 +0.0% PASS
total/synth/PUSH8/p0 0.00 0.00 +3.6% PASS
total/synth/PUSH8/p1 0.00 0.00 +1.8% PASS
total/synth/PUSH9/p0 0.00 0.00 -0.3% PASS
total/synth/PUSH9/p1 0.00 0.00 +1.1% PASS
total/synth/RETURNDATASIZE/a0 0.03 0.03 -0.1% PASS
total/synth/RETURNDATASIZE/a1 0.06 0.06 +0.2% PASS
total/synth/SAR/b0 0.00 0.00 -0.1% PASS
total/synth/SAR/b1 0.00 0.00 +0.8% PASS
total/synth/SGT/b0 0.00 0.00 +1.4% PASS
total/synth/SGT/b1 0.00 0.00 -0.3% PASS
total/synth/SHL/b0 0.00 0.00 +0.4% PASS
total/synth/SHL/b1 0.00 0.00 -0.1% PASS
total/synth/SHR/b0 0.00 0.00 -0.1% PASS
total/synth/SHR/b1 0.00 0.00 +0.5% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 +0.2% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 +0.9% PASS
total/synth/SLT/b0 0.00 0.00 -0.7% PASS
total/synth/SLT/b1 0.00 0.00 +0.0% PASS
total/synth/SUB/b0 0.00 0.00 -0.5% PASS
total/synth/SUB/b1 0.00 0.00 +0.0% PASS
total/synth/SWAP1/s0 0.00 0.00 -0.2% PASS
total/synth/SWAP10/s0 0.00 0.00 -0.4% PASS
total/synth/SWAP11/s0 0.00 0.00 -0.0% PASS
total/synth/SWAP12/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP13/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP14/s0 0.00 0.00 +0.1% PASS
total/synth/SWAP15/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP16/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP2/s0 0.00 0.00 -1.7% PASS
total/synth/SWAP3/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP4/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP5/s0 0.00 0.00 +0.1% PASS
total/synth/SWAP6/s0 0.00 0.00 +1.8% PASS
total/synth/SWAP7/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP8/s0 0.00 0.00 -0.5% PASS
total/synth/SWAP9/s0 0.00 0.00 +1.9% PASS
total/synth/XOR/b0 0.00 0.00 +1.9% PASS
total/synth/XOR/b1 0.00 0.00 -0.1% PASS
total/synth/loop_v1 8.44 8.42 -0.3% PASS
total/synth/loop_v2 8.41 8.57 +2.0% PASS

Summary: 193 benchmarks, 0 regressions


@zoowii
zoowii merged commit 3e7587e into DTVMStack:main Jul 29, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants