Skip to content

refactor(compiler): inline EVM CLZ lowering (drop runtime-fallback path) - #21

Closed
abmcar wants to merge 2 commits into
mainfrom
perf/u256-clz-inline
Closed

refactor(compiler): inline EVM CLZ lowering (drop runtime-fallback path)#21
abmcar wants to merge 2 commits into
mainfrom
perf/u256-clz-inline

Conversation

@abmcar

@abmcar abmcar commented May 16, 2026

Copy link
Copy Markdown
Owner

Summary

Replace handleClz runtime-fallback path with an inline 4-limb expansion:
when the EVM CLZ opcode (EIP-7939) is executed, the JIT now emits a
chain of compares + OP_clz (64-bit) + selects, then an outer guard
Select(IsZero(value), 256, partial) for the all-zero input case. The
inner limb is also OR-masked with 1 so the 64-bit OP_clz operand
is never zero on any select arm.

Output Operand is tagged ValueRange::U64 (CLZ result is always ≤ 256,
trivially U64). This is consistent with EVMRangeAnalyzer, which already
classifies OP_CLZ as U64 in its dataflow transfer table — the MIR tag
helps same-block consumers; cross-BB consumers continue to be served by
the analyzer.

What this does NOT do

  • Does not remove the runtime helper. RuntimeFunctions.GetClz and
    evmGetClz (src/compiler/evm_frontend/evm_imported.{h,cpp}) are
    no longer called from the JIT path but remain in the table as dead
    surface. Cleanup deferred to a follow-up to keep this diff focused.
  • Does not add a CLZ-heavy benchmark. The 27-bench suite contains no
    CLZ-density signal; this PR is correctness-and-cleanup, not perf.

Test plan

  • tools/format.sh check — pass
  • cmake --build build --target dtvmapi — pass, no new warnings
  • multipass evmone-unittests curated 223/223 — including
    evm.clz_gas, evm.clz_osaka, evm.clz_pre_osaka,
    evm.clz_stack_underflow
  • multipass evmone-statetest -k fork_Cancun 2723/2723 (fork_Cancun
    filter excludes osaka/ tests, so statetest does not exercise EIP-7939
    directly — coverage comes from unittests)

DRAFT — personal fork integration test

Drafting on abmcar/DTVM (personal fork) for review/integration testing.
Not for DTVMStack/DTVM upstream submission yet.

@abmcar abmcar changed the title perf(compiler): inline handleClz with 4-limb chain-select + VR::U64 tag refactor(compiler): inline EVM CLZ lowering (drop runtime-fallback path) May 16, 2026
@github-actions

Copy link
Copy Markdown

Performance Check Passed (interpreter)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 2.61 2.60 -0.5% PASS
total/main/blake2b_huff/empty 0.04 0.04 +0.3% PASS
total/main/blake2b_shifts/8415nulls 20.96 20.89 -0.3% PASS
total/main/sha1_divs/5311 8.70 8.59 -1.3% PASS
total/main/sha1_divs/empty 0.11 0.11 -1.0% PASS
total/main/sha1_shifts/5311 6.36 6.36 +0.0% PASS
total/main/sha1_shifts/empty 0.08 0.08 -0.1% PASS
total/main/snailtracer/benchmark 75.55 75.24 -0.4% PASS
total/main/structarray_alloc/nfts_rank 1.39 1.40 +0.3% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +1.1% PASS
total/main/swap_math/received 0.01 0.01 +0.8% PASS
total/main/swap_math/spent 0.01 0.01 -0.7% PASS
total/main/weierstrudel/1 0.29 0.29 +0.1% PASS
total/main/weierstrudel/15 3.23 3.21 -0.4% PASS
total/micro/JUMPDEST_n0/empty 2.85 2.85 +0.0% PASS
total/micro/jump_around/empty 0.10 0.10 -0.4% PASS
total/micro/loop_with_many_jumpdests/empty 43.46 43.56 +0.2% PASS
total/micro/memory_grow_mload/by1 0.13 0.13 +1.9% PASS
total/micro/memory_grow_mload/by16 0.14 0.13 -2.2% PASS
total/micro/memory_grow_mload/by32 0.15 0.15 -1.6% PASS
total/micro/memory_grow_mload/nogrow 0.13 0.13 -0.1% PASS
total/micro/memory_grow_mstore/by1 0.12 0.12 -0.1% PASS
total/micro/memory_grow_mstore/by16 0.13 0.13 +0.4% PASS
total/micro/memory_grow_mstore/by32 0.15 0.15 -0.4% PASS
total/micro/memory_grow_mstore/nogrow 0.12 0.12 +0.5% PASS
total/micro/signextend/one 0.28 0.28 -0.3% PASS
total/micro/signextend/zero 0.28 0.28 -0.4% PASS
total/synth/ADD/b0 3.19 3.19 -0.1% PASS
total/synth/ADD/b1 3.57 3.78 +6.0% PASS
total/synth/ADDRESS/a0 4.88 4.88 -0.0% PASS
total/synth/ADDRESS/a1 5.36 5.34 -0.3% PASS
total/synth/AND/b0 2.88 3.10 +7.8% PASS
total/synth/AND/b1 3.48 3.68 +5.9% PASS
total/synth/BYTE/b0 6.19 6.19 -0.0% PASS
total/synth/BYTE/b1 5.12 5.11 -0.1% PASS
total/synth/CALLDATASIZE/a0 3.53 3.53 +0.1% PASS
total/synth/CALLDATASIZE/a1 3.57 3.56 -0.0% PASS
total/synth/CALLER/a0 4.81 4.82 +0.2% PASS
total/synth/CALLER/a1 5.33 5.33 -0.1% PASS
total/synth/CALLVALUE/a0 3.76 3.76 -0.0% PASS
total/synth/CALLVALUE/a1 3.78 3.78 -0.0% PASS
total/synth/CODESIZE/a0 4.00 4.00 +0.1% PASS
total/synth/CODESIZE/a1 4.01 4.01 +0.1% PASS
total/synth/DUP1/d0 1.39 1.40 +0.2% PASS
total/synth/DUP1/d1 1.76 1.76 -0.3% PASS
total/synth/DUP10/d0 1.16 1.39 +20.4% PASS
total/synth/DUP10/d1 1.73 1.73 -0.3% PASS
total/synth/DUP11/d0 1.39 1.40 +0.3% PASS
total/synth/DUP11/d1 1.73 1.73 -0.2% PASS
total/synth/DUP12/d0 1.40 1.39 -0.4% PASS
total/synth/DUP12/d1 1.73 1.73 -0.1% PASS
total/synth/DUP13/d0 1.39 1.40 +0.1% PASS
total/synth/DUP13/d1 1.74 1.73 -0.2% PASS
total/synth/DUP14/d0 1.17 1.40 +19.2% PASS
total/synth/DUP14/d1 1.73 1.73 -0.1% PASS
total/synth/DUP15/d0 1.40 1.40 +0.1% PASS
total/synth/DUP15/d1 1.73 1.73 -0.1% PASS
total/synth/DUP16/d0 1.40 1.40 -0.3% PASS
total/synth/DUP16/d1 1.73 1.73 -0.1% PASS
total/synth/DUP2/d0 1.15 1.20 +4.0% PASS
total/synth/DUP2/d1 1.73 1.73 -0.2% PASS
total/synth/DUP3/d0 1.39 1.39 +0.3% PASS
total/synth/DUP3/d1 1.73 1.73 -0.1% PASS
total/synth/DUP4/d0 1.39 1.39 +0.2% PASS
total/synth/DUP4/d1 1.73 1.73 -0.1% PASS
total/synth/DUP5/d0 1.39 1.39 +0.0% PASS
total/synth/DUP5/d1 1.73 1.73 +0.1% PASS
total/synth/DUP6/d0 1.39 1.40 +0.3% PASS
total/synth/DUP6/d1 1.74 1.73 -0.4% PASS
total/synth/DUP7/d0 1.40 1.39 -0.4% PASS
total/synth/DUP7/d1 1.74 1.73 -0.5% PASS
total/synth/DUP8/d0 1.40 1.22 -12.9% PASS
total/synth/DUP8/d1 1.73 1.73 -0.0% PASS
total/synth/DUP9/d0 1.40 1.39 -0.2% PASS
total/synth/DUP9/d1 1.74 1.73 -0.3% PASS
total/synth/EQ/b0 5.40 5.39 -0.1% PASS
total/synth/EQ/b1 5.59 5.58 -0.2% PASS
total/synth/GAS/a0 3.92 3.92 -0.0% PASS
total/synth/GAS/a1 3.97 3.98 +0.3% PASS
total/synth/GT/b0 5.42 5.41 -0.1% PASS
total/synth/GT/b1 5.33 5.33 +0.0% PASS
total/synth/ISZERO/u0 8.33 8.33 +0.0% PASS
total/synth/JUMPDEST/n0 2.85 2.85 +0.0% PASS
total/synth/LT/b0 5.42 5.41 -0.0% PASS
total/synth/LT/b1 5.33 5.33 -0.1% PASS
total/synth/MSIZE/a0 4.33 4.33 +0.1% PASS
total/synth/MSIZE/a1 4.85 4.85 -0.1% PASS
total/synth/MUL/b0 5.50 5.49 -0.2% PASS
total/synth/MUL/b1 5.92 5.91 -0.1% PASS
total/synth/NOT/u0 4.86 4.85 -0.3% PASS
total/synth/OR/b0 2.84 3.02 +6.4% PASS
total/synth/OR/b1 3.40 3.68 +8.1% PASS
total/synth/PC/a0 3.52 3.51 -0.2% PASS
total/synth/PC/a1 3.55 3.55 -0.1% PASS
total/synth/PUSH1/p0 1.39 1.39 +0.0% PASS
total/synth/PUSH1/p1 1.82 1.83 +0.6% PASS
total/synth/PUSH10/p0 1.39 1.40 +0.2% PASS
total/synth/PUSH10/p1 1.82 1.85 +1.3% PASS
total/synth/PUSH11/p0 1.40 1.39 -0.1% PASS
total/synth/PUSH11/p1 1.83 1.85 +1.5% PASS
total/synth/PUSH12/p0 1.40 1.39 -0.2% PASS
total/synth/PUSH12/p1 1.83 1.85 +1.5% PASS
total/synth/PUSH13/p0 1.40 1.40 -0.1% PASS
total/synth/PUSH13/p1 1.83 1.86 +1.6% PASS
total/synth/PUSH14/p0 1.44 1.45 +1.0% PASS
total/synth/PUSH14/p1 1.84 1.85 +0.6% PASS
total/synth/PUSH15/p0 1.40 1.30 -7.0% PASS
total/synth/PUSH15/p1 1.92 2.00 +4.4% PASS
total/synth/PUSH16/p0 1.40 1.33 -4.9% PASS
total/synth/PUSH16/p1 1.86 1.84 -1.4% PASS
total/synth/PUSH17/p0 1.40 1.41 +0.7% PASS
total/synth/PUSH17/p1 1.83 1.84 +0.6% PASS
total/synth/PUSH18/p0 1.40 1.40 -0.6% PASS
total/synth/PUSH18/p1 1.84 1.88 +2.4% PASS
total/synth/PUSH19/p0 1.40 1.40 -0.2% PASS
total/synth/PUSH19/p1 1.83 1.84 +0.6% PASS
total/synth/PUSH2/p0 1.39 1.40 +0.4% PASS
total/synth/PUSH2/p1 1.82 1.83 +0.6% PASS
total/synth/PUSH20/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH20/p1 1.83 1.85 +0.8% PASS
total/synth/PUSH21/p0 1.40 1.40 +0.2% PASS
total/synth/PUSH21/p1 1.84 1.84 +0.3% PASS
total/synth/PUSH22/p0 1.39 1.40 +0.0% PASS
total/synth/PUSH22/p1 1.83 1.85 +0.9% PASS
total/synth/PUSH23/p0 1.40 1.40 -0.0% PASS
total/synth/PUSH23/p1 1.83 1.86 +1.4% PASS
total/synth/PUSH24/p0 1.39 1.40 +0.1% PASS
total/synth/PUSH24/p1 1.83 1.85 +1.1% PASS
total/synth/PUSH25/p0 1.40 1.40 -0.3% PASS
total/synth/PUSH25/p1 1.83 1.84 +0.7% PASS
total/synth/PUSH26/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH26/p1 1.84 1.85 +0.6% PASS
total/synth/PUSH27/p0 1.41 1.40 -0.9% PASS
total/synth/PUSH27/p1 1.83 1.64 -10.3% PASS
total/synth/PUSH28/p0 1.40 1.40 -0.1% PASS
total/synth/PUSH28/p1 1.83 1.85 +1.1% PASS
total/synth/PUSH29/p0 1.40 1.39 -0.4% PASS
total/synth/PUSH29/p1 1.84 1.85 +0.6% PASS
total/synth/PUSH3/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH3/p1 1.82 1.84 +0.8% PASS
total/synth/PUSH30/p0 1.43 1.44 +0.8% PASS
total/synth/PUSH30/p1 1.84 1.85 +0.6% PASS
total/synth/PUSH31/p0 1.40 1.40 -0.1% PASS
total/synth/PUSH31/p1 2.01 1.96 -2.3% PASS
total/synth/PUSH32/p0 1.40 1.40 +0.3% PASS
total/synth/PUSH32/p1 1.83 1.85 +0.9% PASS
total/synth/PUSH4/p0 1.40 1.39 -0.2% PASS
total/synth/PUSH4/p1 1.82 1.84 +0.8% PASS
total/synth/PUSH5/p0 1.39 1.30 -7.0% PASS
total/synth/PUSH5/p1 1.82 1.84 +0.8% PASS
total/synth/PUSH6/p0 1.39 1.40 +0.0% PASS
total/synth/PUSH6/p1 1.83 1.87 +2.3% PASS
total/synth/PUSH7/p0 1.39 1.40 +0.1% PASS
total/synth/PUSH7/p1 1.83 1.88 +2.6% PASS
total/synth/PUSH8/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH8/p1 1.82 1.84 +1.2% PASS
total/synth/PUSH9/p0 1.40 1.40 -0.4% PASS
total/synth/PUSH9/p1 1.83 1.85 +1.1% PASS
total/synth/RETURNDATASIZE/a0 4.08 4.08 -0.0% PASS
total/synth/RETURNDATASIZE/a1 4.11 4.09 -0.4% PASS
total/synth/SAR/b0 4.02 4.02 -0.0% PASS
total/synth/SAR/b1 4.64 4.63 -0.2% PASS
total/synth/SGT/b0 4.60 4.60 +0.0% PASS
total/synth/SGT/b1 4.12 4.11 -0.3% PASS
total/synth/SHL/b0 3.61 3.61 -0.1% PASS
total/synth/SHL/b1 3.72 3.80 +2.0% PASS
total/synth/SHR/b0 3.40 3.38 -0.4% PASS
total/synth/SHR/b1 3.69 3.76 +2.0% PASS
total/synth/SIGNEXTEND/b0 3.43 3.35 -2.3% PASS
total/synth/SIGNEXTEND/b1 3.82 3.81 -0.2% PASS
total/synth/SLT/b0 4.29 4.29 -0.0% PASS
total/synth/SLT/b1 4.10 4.11 +0.2% PASS
total/synth/SUB/b0 3.18 3.17 -0.2% PASS
total/synth/SUB/b1 3.49 3.78 +8.5% PASS
total/synth/SWAP1/s0 3.34 3.34 -0.1% PASS
total/synth/SWAP10/s0 3.36 3.36 +0.0% PASS
total/synth/SWAP11/s0 3.36 3.36 +0.0% PASS
total/synth/SWAP12/s0 3.36 3.36 +0.0% PASS
total/synth/SWAP13/s0 3.36 3.36 +0.1% PASS
total/synth/SWAP14/s0 3.36 3.36 +0.0% PASS
total/synth/SWAP15/s0 3.93 3.90 -0.6% PASS
total/synth/SWAP16/s0 3.37 3.37 -0.0% PASS
total/synth/SWAP2/s0 3.34 3.34 +0.0% PASS
total/synth/SWAP3/s0 3.37 3.34 -0.7% PASS
total/synth/SWAP4/s0 3.35 3.35 -0.0% PASS
total/synth/SWAP5/s0 3.37 3.35 -0.7% PASS
total/synth/SWAP6/s0 3.35 3.35 +0.0% PASS
total/synth/SWAP7/s0 3.35 3.35 +0.0% PASS
total/synth/SWAP8/s0 3.35 3.35 +0.0% PASS
total/synth/SWAP9/s0 3.36 3.35 -0.1% PASS
total/synth/XOR/b0 2.88 3.10 +7.6% PASS
total/synth/XOR/b1 3.48 3.68 +5.8% PASS
total/synth/loop_v1 6.75 6.81 +0.8% PASS
total/synth/loop_v2 6.74 6.76 +0.3% PASS

Summary: 194 benchmarks, 0 regressions

@github-actions

Copy link
Copy Markdown

Performance Check Passed (multipass)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 1.03 1.04 +0.3% PASS
total/main/blake2b_huff/empty 0.02 0.02 +2.2% PASS
total/main/blake2b_shifts/8415nulls 4.89 4.93 +0.8% PASS
total/main/sha1_divs/5311 0.61 0.61 -0.2% PASS
total/main/sha1_divs/empty 0.01 0.01 +0.2% PASS
total/main/sha1_shifts/5311 0.57 0.57 +0.1% PASS
total/main/sha1_shifts/empty 0.01 0.01 -0.6% PASS
total/main/snailtracer/benchmark 36.21 35.61 -1.7% PASS
total/main/structarray_alloc/nfts_rank 0.28 0.28 +0.8% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -0.5% PASS
total/main/swap_math/received 0.00 0.00 -3.0% PASS
total/main/swap_math/spent 0.00 0.00 -1.4% PASS
total/main/weierstrudel/1 0.25 0.26 +1.8% PASS
total/main/weierstrudel/15 2.99 3.01 +0.7% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 -0.8% PASS
total/micro/jump_around/empty 0.04 0.04 +1.8% PASS
total/micro/loop_with_many_jumpdests/empty 0.00 0.00 -0.6% PASS
total/micro/memory_grow_mload/by1 0.01 0.01 -0.9% PASS
total/micro/memory_grow_mload/by16 0.01 0.01 -0.6% PASS
total/micro/memory_grow_mload/by32 0.01 0.01 -1.2% PASS
total/micro/memory_grow_mload/nogrow 0.01 0.01 -1.5% PASS
total/micro/memory_grow_mstore/by1 0.01 0.01 -0.8% PASS
total/micro/memory_grow_mstore/by16 0.01 0.01 -0.5% PASS
total/micro/memory_grow_mstore/by32 0.01 0.01 +0.0% PASS
total/micro/memory_grow_mstore/nogrow 0.01 0.01 +0.5% PASS
total/micro/signextend/one 0.08 0.08 +0.7% PASS
total/micro/signextend/zero 0.08 0.08 +0.4% PASS
total/synth/ADD/b0 0.00 0.00 +2.2% PASS
total/synth/ADD/b1 0.00 0.00 -4.2% PASS
total/synth/ADDRESS/a0 0.15 0.15 +1.8% PASS
total/synth/ADDRESS/a1 0.15 0.15 +2.3% PASS
total/synth/AND/b0 0.00 0.00 -0.0% PASS
total/synth/AND/b1 0.00 0.00 +1.6% PASS
total/synth/BYTE/b0 0.00 0.00 +1.6% PASS
total/synth/BYTE/b1 0.00 0.00 +1.4% PASS
total/synth/CALLDATASIZE/a0 0.07 0.07 +0.0% PASS
total/synth/CALLDATASIZE/a1 0.07 0.07 -0.1% PASS
total/synth/CALLER/a0 0.20 0.20 -1.2% PASS
total/synth/CALLER/a1 0.20 0.20 -1.1% PASS
total/synth/CALLVALUE/a0 0.19 0.19 -0.2% PASS
total/synth/CALLVALUE/a1 0.19 0.19 +0.4% PASS
total/synth/CODESIZE/a0 0.07 0.07 +0.1% PASS
total/synth/CODESIZE/a1 0.07 0.07 -0.0% PASS
total/synth/DUP1/d0 0.00 0.00 -3.4% PASS
total/synth/DUP1/d1 0.00 0.00 +2.8% PASS
total/synth/DUP10/d0 0.00 0.00 -2.4% PASS
total/synth/DUP10/d1 0.00 0.00 -2.9% PASS
total/synth/DUP11/d0 0.00 0.00 +3.2% PASS
total/synth/DUP11/d1 0.00 0.00 +3.1% PASS
total/synth/DUP12/d0 0.00 0.00 -1.4% PASS
total/synth/DUP12/d1 0.00 0.00 -3.3% PASS
total/synth/DUP13/d0 0.00 0.00 -0.3% PASS
total/synth/DUP13/d1 0.00 0.00 -5.4% PASS
total/synth/DUP14/d0 0.00 0.00 -2.0% PASS
total/synth/DUP14/d1 0.00 0.00 -2.5% PASS
total/synth/DUP15/d0 0.00 0.00 +2.2% PASS
total/synth/DUP15/d1 0.00 0.00 -3.0% PASS
total/synth/DUP16/d0 0.00 0.00 -1.0% PASS
total/synth/DUP16/d1 0.00 0.00 +1.1% PASS
total/synth/DUP2/d0 0.00 0.00 -5.5% PASS
total/synth/DUP2/d1 0.00 0.00 +0.5% PASS
total/synth/DUP3/d0 0.00 0.00 -0.6% PASS
total/synth/DUP3/d1 0.00 0.00 -1.1% PASS
total/synth/DUP4/d0 0.00 0.00 +2.3% PASS
total/synth/DUP4/d1 0.00 0.00 -6.7% PASS
total/synth/DUP5/d0 0.00 0.00 +0.6% PASS
total/synth/DUP5/d1 0.00 0.00 -2.4% PASS
total/synth/DUP6/d0 0.00 0.00 +0.5% PASS
total/synth/DUP6/d1 0.00 0.00 +0.4% PASS
total/synth/DUP7/d0 0.00 0.00 -0.8% PASS
total/synth/DUP7/d1 0.00 0.00 -0.1% PASS
total/synth/DUP8/d0 0.00 0.00 -0.8% PASS
total/synth/DUP8/d1 0.00 0.00 -2.5% PASS
total/synth/DUP9/d0 0.00 0.00 -3.0% PASS
total/synth/DUP9/d1 0.00 0.00 -0.4% PASS
total/synth/EQ/b0 0.00 0.00 -4.2% PASS
total/synth/EQ/b1 0.00 0.00 -2.9% PASS
total/synth/GAS/a0 0.86 0.86 +0.0% PASS
total/synth/GAS/a1 0.86 0.86 +0.0% PASS
total/synth/GT/b0 0.00 0.00 +0.8% PASS
total/synth/GT/b1 0.00 0.00 -1.0% PASS
total/synth/ISZERO/u0 0.00 0.00 +2.4% PASS
total/synth/JUMPDEST/n0 0.00 0.00 -1.1% PASS
total/synth/LT/b0 0.00 0.00 -0.2% PASS
total/synth/LT/b1 0.00 0.00 -2.2% PASS
total/synth/MSIZE/a0 0.00 0.00 -0.4% PASS
total/synth/MSIZE/a1 0.00 0.00 +2.6% PASS
total/synth/MUL/b0 0.00 0.00 +0.2% PASS
total/synth/MUL/b1 0.00 0.00 -1.0% PASS
total/synth/NOT/u0 0.00 0.00 -3.6% PASS
total/synth/OR/b0 0.00 0.00 -1.4% PASS
total/synth/OR/b1 0.00 0.00 -3.2% PASS
total/synth/PC/a0 0.00 0.00 +1.4% PASS
total/synth/PC/a1 0.00 0.00 -3.1% PASS
total/synth/PUSH1/p0 0.00 0.00 +2.3% PASS
total/synth/PUSH1/p1 0.00 0.00 -2.3% PASS
total/synth/PUSH10/p0 0.00 0.00 -1.3% PASS
total/synth/PUSH10/p1 0.00 0.00 +0.9% PASS
total/synth/PUSH11/p0 0.00 0.00 -0.7% PASS
total/synth/PUSH11/p1 0.00 0.00 -1.2% PASS
total/synth/PUSH12/p0 0.00 0.00 -2.5% PASS
total/synth/PUSH12/p1 0.00 0.00 -1.6% PASS
total/synth/PUSH13/p0 0.00 0.00 -1.3% PASS
total/synth/PUSH13/p1 0.00 0.00 -4.1% PASS
total/synth/PUSH14/p0 0.00 0.00 +0.5% PASS
total/synth/PUSH14/p1 0.00 0.00 +0.5% PASS
total/synth/PUSH15/p0 0.00 0.00 -0.7% PASS
total/synth/PUSH15/p1 0.00 0.00 -1.1% PASS
total/synth/PUSH16/p0 0.00 0.00 -0.4% PASS
total/synth/PUSH16/p1 0.00 0.00 -0.2% PASS
total/synth/PUSH17/p0 0.00 0.00 -1.5% PASS
total/synth/PUSH17/p1 0.00 0.00 -1.7% PASS
total/synth/PUSH18/p0 0.00 0.00 -0.2% PASS
total/synth/PUSH18/p1 0.00 0.00 -1.1% PASS
total/synth/PUSH19/p0 0.00 0.00 +0.2% PASS
total/synth/PUSH19/p1 0.00 0.00 -3.3% PASS
total/synth/PUSH2/p0 0.00 0.00 -3.8% PASS
total/synth/PUSH2/p1 0.00 0.00 -2.8% PASS
total/synth/PUSH20/p0 0.00 0.00 -0.3% PASS
total/synth/PUSH20/p1 0.00 0.00 -0.8% PASS
total/synth/PUSH21/p0 0.00 0.00 -1.0% PASS
total/synth/PUSH21/p1 0.00 0.00 +1.8% PASS
total/synth/PUSH22/p0 1.55 1.50 -2.8% PASS
total/synth/PUSH22/p1 1.81 1.80 -0.3% PASS
total/synth/PUSH23/p0 1.52 1.51 -0.3% PASS
total/synth/PUSH23/p1 1.83 1.80 -1.4% PASS
total/synth/PUSH24/p0 1.52 1.52 -0.1% PASS
total/synth/PUSH24/p1 1.80 1.79 -0.5% PASS
total/synth/PUSH25/p0 1.55 1.53 -1.1% PASS
total/synth/PUSH25/p1 1.80 1.80 -0.2% PASS
total/synth/PUSH26/p0 1.54 1.52 -1.2% PASS
total/synth/PUSH26/p1 1.81 1.82 +0.9% PASS
total/synth/PUSH27/p0 1.54 1.51 -1.7% PASS
total/synth/PUSH27/p1 1.80 1.80 -0.0% PASS
total/synth/PUSH28/p0 1.52 1.52 -0.3% PASS
total/synth/PUSH28/p1 1.80 1.80 -0.1% PASS
total/synth/PUSH29/p0 1.52 1.52 -0.3% PASS
total/synth/PUSH29/p1 1.81 1.80 -0.3% PASS
total/synth/PUSH3/p0 0.00 0.00 -1.4% PASS
total/synth/PUSH3/p1 0.00 0.00 -1.3% PASS
total/synth/PUSH30/p0 1.58 1.58 -0.1% PASS
total/synth/PUSH30/p1 1.81 1.80 -0.5% PASS
total/synth/PUSH31/p0 1.55 1.51 -2.3% PASS
total/synth/PUSH31/p1 1.86 1.84 -1.0% PASS
total/synth/PUSH32/p0 1.53 1.52 -0.3% PASS
total/synth/PUSH32/p1 1.81 1.80 -0.5% PASS
total/synth/PUSH4/p0 0.00 0.00 -1.8% PASS
total/synth/PUSH4/p1 0.00 0.00 -4.5% PASS
total/synth/PUSH5/p0 0.00 0.00 -1.6% PASS
total/synth/PUSH5/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH6/p0 0.00 0.00 +0.7% PASS
total/synth/PUSH6/p1 0.00 0.00 -1.3% PASS
total/synth/PUSH7/p0 0.00 0.00 -3.9% PASS
total/synth/PUSH7/p1 0.00 0.00 +0.6% PASS
total/synth/PUSH8/p0 0.00 0.00 +1.2% PASS
total/synth/PUSH8/p1 0.00 0.00 -0.4% PASS
total/synth/PUSH9/p0 0.00 0.00 +1.1% PASS
total/synth/PUSH9/p1 0.00 0.00 -2.6% PASS
total/synth/RETURNDATASIZE/a0 0.03 0.03 -0.1% PASS
total/synth/RETURNDATASIZE/a1 0.03 0.03 -0.2% PASS
total/synth/SAR/b0 0.00 0.00 -1.6% PASS
total/synth/SAR/b1 0.00 0.00 -2.1% PASS
total/synth/SGT/b0 0.00 0.00 +0.7% PASS
total/synth/SGT/b1 0.00 0.00 +3.6% PASS
total/synth/SHL/b0 0.00 0.00 -2.5% PASS
total/synth/SHL/b1 0.00 0.00 -0.3% PASS
total/synth/SHR/b0 0.00 0.00 -0.0% PASS
total/synth/SHR/b1 0.00 0.00 -5.7% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 -7.1% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 -1.6% PASS
total/synth/SLT/b0 0.00 0.00 +2.6% PASS
total/synth/SLT/b1 0.00 0.00 -4.0% PASS
total/synth/SUB/b0 0.00 0.00 +0.1% PASS
total/synth/SUB/b1 0.00 0.00 -1.9% PASS
total/synth/SWAP1/s0 0.00 0.00 -1.7% PASS
total/synth/SWAP10/s0 0.00 0.00 -3.0% PASS
total/synth/SWAP11/s0 0.00 0.00 -2.9% PASS
total/synth/SWAP12/s0 0.00 0.00 -4.1% PASS
total/synth/SWAP13/s0 0.00 0.00 -3.2% PASS
total/synth/SWAP14/s0 0.00 0.00 -1.4% PASS
total/synth/SWAP15/s0 0.00 0.00 -4.0% PASS
total/synth/SWAP16/s0 0.00 0.00 -1.2% PASS
total/synth/SWAP2/s0 0.00 0.00 -2.3% PASS
total/synth/SWAP3/s0 0.00 0.00 +4.5% PASS
total/synth/SWAP4/s0 0.00 0.00 +0.6% PASS
total/synth/SWAP5/s0 0.00 0.00 -3.4% PASS
total/synth/SWAP6/s0 0.00 0.00 -6.2% PASS
total/synth/SWAP7/s0 0.00 0.00 -5.1% PASS
total/synth/SWAP8/s0 0.00 0.00 +1.8% PASS
total/synth/SWAP9/s0 0.00 0.00 +1.7% PASS
total/synth/XOR/b0 0.00 0.00 +0.3% PASS
total/synth/XOR/b1 0.00 0.00 -3.2% PASS
total/synth/loop_v1 1.67 1.72 +2.8% PASS
total/synth/loop_v2 1.59 1.61 +1.6% PASS

Summary: 194 benchmarks, 0 regressions

@github-actions

github-actions Bot commented May 16, 2026

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 3.80 3.78 -0.6% PASS
total/main/blake2b_huff/empty 0.06 0.07 +10.8% PASS
total/main/blake2b_shifts/8415nulls 20.67 20.77 +0.5% PASS
total/main/sha1_divs/5311 11.74 11.74 +0.0% PASS
total/main/sha1_divs/empty 0.14 0.17 +16.3% PASS
total/main/sha1_shifts/5311 9.57 10.70 +11.9% PASS
total/main/sha1_shifts/empty 0.08 0.08 +0.2% PASS
total/main/snailtracer/benchmark 108.52 110.73 +2.0% PASS
total/main/structarray_alloc/nfts_rank 1.38 1.42 +2.8% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +1.3% PASS
total/main/swap_math/received 0.01 0.01 +6.5% PASS
total/main/swap_math/spent 0.01 0.01 +5.3% PASS
total/main/weierstrudel/1 0.39 0.41 +6.9% PASS
total/main/weierstrudel/15 4.37 4.32 -1.0% PASS
total/micro/JUMPDEST_n0/empty 2.87 2.87 -0.1% PASS
total/micro/jump_around/empty 0.11 0.11 +0.9% PASS
total/micro/loop_with_many_jumpdests/empty 63.60 62.87 -1.1% PASS
total/micro/memory_grow_mload/by1 0.22 0.23 +1.8% PASS
total/micro/memory_grow_mload/by16 0.24 0.24 +0.3% PASS
total/micro/memory_grow_mload/by32 0.15 0.15 +0.5% PASS
total/micro/memory_grow_mload/nogrow 0.11 0.12 +1.8% PASS
total/micro/memory_grow_mstore/by1 0.24 0.24 -3.7% PASS
total/micro/memory_grow_mstore/by16 0.14 0.14 -0.1% PASS
total/micro/memory_grow_mstore/by32 0.28 0.29 +1.3% PASS
total/micro/memory_grow_mstore/nogrow 0.24 0.23 -2.7% PASS
total/micro/signextend/one 0.28 0.28 -0.3% PASS
total/micro/signextend/zero 0.48 0.50 +3.4% PASS
total/synth/ADD/b0 3.31 3.23 -2.2% PASS
total/synth/ADD/b1 6.06 6.10 +0.6% PASS
total/synth/ADDRESS/a0 6.36 6.50 +2.2% PASS
total/synth/ADDRESS/a1 5.07 5.47 +7.9% PASS
total/synth/AND/b0 2.89 2.86 -1.3% PASS
total/synth/AND/b1 5.18 5.47 +5.6% PASS
total/synth/BYTE/b0 6.07 6.07 +0.1% PASS
total/synth/BYTE/b1 8.50 8.85 +4.1% PASS
total/synth/CALLDATASIZE/a0 5.47 5.65 +3.3% PASS
total/synth/CALLDATASIZE/a1 3.32 3.62 +8.9% PASS
total/synth/CALLER/a0 6.44 6.49 +0.8% PASS
total/synth/CALLER/a1 6.73 6.73 +0.1% PASS
total/synth/CALLVALUE/a0 3.40 3.51 +3.2% PASS
total/synth/CALLVALUE/a1 6.18 6.52 +5.5% PASS
total/synth/CODESIZE/a0 6.58 6.60 +0.3% PASS
total/synth/CODESIZE/a1 6.37 6.63 +4.1% PASS
total/synth/DUP1/d0 1.98 1.98 +0.4% PASS
total/synth/DUP1/d1 2.05 2.09 +2.4% PASS
total/synth/DUP10/d0 1.95 1.99 +2.4% PASS
total/synth/DUP10/d1 2.15 2.08 -3.0% PASS
total/synth/DUP11/d0 1.23 1.23 -0.4% PASS
total/synth/DUP11/d1 2.15 2.14 -0.4% PASS
total/synth/DUP12/d0 2.00 2.04 +1.8% PASS
total/synth/DUP12/d1 1.45 1.45 +0.3% PASS
total/synth/DUP13/d0 1.99 1.91 -4.1% PASS
total/synth/DUP13/d1 2.10 2.13 +1.1% PASS
total/synth/DUP14/d0 1.11 1.23 +11.0% PASS
total/synth/DUP14/d1 2.02 2.18 +7.7% PASS
total/synth/DUP15/d0 2.03 1.99 -2.0% PASS
total/synth/DUP15/d1 1.65 1.47 -11.2% PASS
total/synth/DUP16/d0 1.96 2.01 +2.4% PASS
total/synth/DUP16/d1 2.14 2.05 -4.1% PASS
total/synth/DUP2/d0 1.12 1.10 -1.3% PASS
total/synth/DUP2/d1 2.08 2.16 +3.6% PASS
total/synth/DUP3/d0 1.97 1.99 +1.1% PASS
total/synth/DUP3/d1 1.65 1.45 -12.4% PASS
total/synth/DUP4/d0 2.00 1.93 -3.2% PASS
total/synth/DUP4/d1 2.14 2.13 -0.5% PASS
total/synth/DUP5/d0 1.23 1.23 +0.1% PASS
total/synth/DUP5/d1 2.13 2.18 +2.3% PASS
total/synth/DUP6/d0 2.00 2.03 +1.5% PASS
total/synth/DUP6/d1 1.66 1.45 -12.4% PASS
total/synth/DUP7/d0 2.00 2.06 +3.2% PASS
total/synth/DUP7/d1 2.12 2.15 +1.6% PASS
total/synth/DUP8/d0 1.23 1.13 -8.5% PASS
total/synth/DUP8/d1 2.14 2.19 +2.4% PASS
total/synth/DUP9/d0 1.98 1.98 +0.1% PASS
total/synth/DUP9/d1 1.45 1.55 +6.4% PASS
total/synth/EQ/b0 5.99 5.95 -0.6% PASS
total/synth/EQ/b1 6.20 6.32 +1.9% PASS
total/synth/GAS/a0 3.93 4.44 +13.0% PASS
total/synth/GAS/a1 7.25 7.45 +2.7% PASS
total/synth/GT/b0 6.08 6.15 +1.2% PASS
total/synth/GT/b1 6.25 6.30 +0.8% PASS
total/synth/ISZERO/u0 9.62 9.52 -1.1% PASS
total/synth/JUMPDEST/n0 2.87 2.88 +0.2% PASS
total/synth/LT/b0 6.23 5.96 -4.3% PASS
total/synth/LT/b1 5.33 5.36 +0.6% PASS
total/synth/MSIZE/a0 5.85 5.74 -1.7% PASS
total/synth/MSIZE/a1 5.73 5.90 +2.9% PASS
total/synth/MUL/b0 7.97 8.04 +0.8% PASS
total/synth/MUL/b1 5.92 5.93 +0.1% PASS
total/synth/NOT/u0 8.12 7.93 -2.4% PASS
total/synth/OR/b0 5.41 5.04 -6.9% PASS
total/synth/OR/b1 3.40 3.66 +7.6% PASS
total/synth/PC/a0 5.36 5.36 -0.1% PASS
total/synth/PC/a1 3.32 3.87 +16.6% PASS
total/synth/PUSH1/p0 2.25 2.23 -0.7% PASS
total/synth/PUSH1/p1 1.55 1.56 +0.6% PASS
total/synth/PUSH10/p0 2.30 2.47 +7.3% PASS
total/synth/PUSH10/p1 1.76 1.54 -12.4% PASS
total/synth/PUSH11/p0 2.43 2.28 -6.2% PASS
total/synth/PUSH11/p1 2.41 2.45 +1.6% PASS
total/synth/PUSH12/p0 1.32 1.32 -0.3% PASS
total/synth/PUSH12/p1 2.60 2.42 -7.0% PASS
total/synth/PUSH13/p0 2.30 2.24 -2.4% PASS
total/synth/PUSH13/p1 1.75 1.76 +0.2% PASS
total/synth/PUSH14/p0 2.39 2.35 -1.7% PASS
total/synth/PUSH14/p1 2.38 2.48 +4.0% PASS
total/synth/PUSH15/p0 1.32 1.32 +0.0% PASS
total/synth/PUSH15/p1 2.72 2.74 +0.7% PASS
total/synth/PUSH16/p0 2.25 2.31 +2.4% PASS
total/synth/PUSH16/p1 1.58 1.54 -2.1% PASS
total/synth/PUSH17/p0 2.21 2.34 +6.0% PASS
total/synth/PUSH17/p1 2.43 2.33 -4.1% PASS
total/synth/PUSH18/p0 1.33 1.32 -1.3% PASS
total/synth/PUSH18/p1 2.45 2.42 -1.4% PASS
total/synth/PUSH19/p0 2.24 2.33 +3.8% PASS
total/synth/PUSH19/p1 1.76 1.75 -0.5% PASS
total/synth/PUSH2/p0 2.26 2.36 +4.7% PASS
total/synth/PUSH2/p1 2.33 2.37 +1.8% PASS
total/synth/PUSH20/p0 2.22 2.28 +2.5% PASS
total/synth/PUSH20/p1 2.43 2.51 +3.5% PASS
total/synth/PUSH21/p0 1.33 1.32 -0.8% PASS
total/synth/PUSH21/p1 2.46 2.40 -2.5% PASS
total/synth/PUSH22/p0 2.41 2.22 -7.7% PASS
total/synth/PUSH22/p1 1.58 1.75 +10.7% PASS
total/synth/PUSH23/p0 2.34 2.29 -2.4% PASS
total/synth/PUSH23/p1 2.56 2.55 -0.1% PASS
total/synth/PUSH24/p0 1.33 1.32 -0.3% PASS
total/synth/PUSH24/p1 2.52 2.48 -1.6% PASS
total/synth/PUSH25/p0 2.30 2.27 -1.2% PASS
total/synth/PUSH25/p1 1.55 1.75 +12.7% PASS
total/synth/PUSH26/p0 2.36 2.37 +0.7% PASS
total/synth/PUSH26/p1 2.31 2.52 +8.8% PASS
total/synth/PUSH27/p0 1.33 1.32 -0.7% PASS
total/synth/PUSH27/p1 2.53 2.45 -3.3% PASS
total/synth/PUSH28/p0 2.27 2.31 +1.9% PASS
total/synth/PUSH28/p1 1.78 1.56 -12.6% PASS
total/synth/PUSH29/p0 2.40 2.74 +14.0% PASS
total/synth/PUSH29/p1 2.45 2.44 -0.3% PASS
total/synth/PUSH3/p0 1.32 1.32 -0.1% PASS
total/synth/PUSH3/p1 2.43 2.30 -5.5% PASS
total/synth/PUSH30/p0 1.50 1.44 -3.9% PASS
total/synth/PUSH30/p1 2.37 2.37 -0.2% PASS
total/synth/PUSH31/p0 2.33 2.26 -3.2% PASS
total/synth/PUSH31/p1 1.68 1.64 -2.2% PASS
total/synth/PUSH32/p0 2.31 2.24 -3.1% PASS
total/synth/PUSH32/p1 2.50 2.46 -1.7% PASS
total/synth/PUSH4/p0 2.34 2.26 -3.3% PASS
total/synth/PUSH4/p1 1.55 1.54 -0.4% PASS
total/synth/PUSH5/p0 2.34 2.21 -5.2% PASS
total/synth/PUSH5/p1 2.57 2.36 -8.0% PASS
total/synth/PUSH6/p0 1.35 1.32 -2.4% PASS
total/synth/PUSH6/p1 2.48 2.62 +5.7% PASS
total/synth/PUSH7/p0 2.27 2.36 +4.0% PASS
total/synth/PUSH7/p1 1.58 1.55 -2.3% PASS
total/synth/PUSH8/p0 2.28 2.31 +1.2% PASS
total/synth/PUSH8/p1 2.49 2.46 -1.0% PASS
total/synth/PUSH9/p0 1.32 1.32 -0.0% PASS
total/synth/PUSH9/p1 2.42 2.50 +3.2% PASS
total/synth/RETURNDATASIZE/a0 3.76 4.08 +8.4% PASS
total/synth/RETURNDATASIZE/a1 6.39 6.30 -1.5% PASS
total/synth/SAR/b0 3.96 3.94 -0.4% PASS
total/synth/SAR/b1 7.34 7.69 +4.8% PASS
total/synth/SGT/b0 5.68 5.86 +3.2% PASS
total/synth/SGT/b1 4.13 4.02 -2.6% PASS
total/synth/SHL/b0 7.11 6.98 -1.8% PASS
total/synth/SHL/b1 3.70 3.70 -0.1% PASS
total/synth/SHR/b0 6.90 6.85 -0.7% PASS
total/synth/SHR/b1 6.30 6.24 -1.0% PASS
total/synth/SIGNEXTEND/b0 3.56 3.37 -5.3% PASS
total/synth/SIGNEXTEND/b1 6.83 6.91 +1.1% PASS
total/synth/SLT/b0 4.20 3.90 -7.1% PASS
total/synth/SLT/b1 5.51 5.79 +5.1% PASS
total/synth/SUB/b0 5.92 5.79 -2.3% PASS
total/synth/SUB/b1 5.99 5.94 -0.9% PASS
total/synth/SWAP1/s0 3.53 3.53 -0.1% PASS
total/synth/SWAP10/s0 3.54 3.54 +0.0% PASS
total/synth/SWAP11/s0 3.48 3.49 +0.2% PASS
total/synth/SWAP12/s0 3.70 3.43 -7.2% PASS
total/synth/SWAP13/s0 3.54 3.54 +0.0% PASS
total/synth/SWAP14/s0 3.48 3.50 +0.6% PASS
total/synth/SWAP15/s0 3.56 3.59 +0.7% PASS
total/synth/SWAP16/s0 3.52 3.56 +1.0% PASS
total/synth/SWAP2/s0 3.71 3.50 -5.7% PASS
total/synth/SWAP3/s0 3.52 3.52 +0.0% PASS
total/synth/SWAP4/s0 3.54 3.53 -0.1% PASS
total/synth/SWAP5/s0 3.62 3.46 -4.3% PASS
total/synth/SWAP6/s0 3.50 3.48 -0.4% PASS
total/synth/SWAP7/s0 3.54 3.53 -0.1% PASS
total/synth/SWAP8/s0 3.66 4.10 +12.1% PASS
total/synth/SWAP9/s0 3.44 4.18 +21.5% PASS
total/synth/XOR/b0 5.14 4.96 -3.6% PASS
total/synth/XOR/b1 5.24 5.46 +4.1% PASS
total/synth/loop_v1 11.94 12.16 +1.8% PASS
total/synth/loop_v2 11.99 12.16 +1.4% 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.54 1.43 -6.6% PASS
total/main/blake2b_huff/empty 0.03 0.03 -2.3% PASS
total/main/blake2b_shifts/8415nulls 4.28 4.26 -0.5% PASS
total/main/sha1_divs/5311 1.25 1.24 -0.2% PASS
total/main/sha1_divs/empty 0.02 0.02 +0.2% PASS
total/main/sha1_shifts/5311 1.17 1.16 -0.7% PASS
total/main/sha1_shifts/empty 0.01 0.01 +5.3% PASS
total/main/snailtracer/benchmark 50.03 50.12 +0.2% PASS
total/main/structarray_alloc/nfts_rank 0.29 0.29 -0.5% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +4.4% PASS
total/main/swap_math/received 0.01 0.01 -3.5% PASS
total/main/swap_math/spent 0.00 0.00 -2.0% PASS
total/main/weierstrudel/1 0.33 0.34 +2.1% PASS
total/main/weierstrudel/15 3.60 3.84 +6.6% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 -0.4% PASS
total/micro/jump_around/empty 0.06 0.06 -1.9% PASS
total/micro/loop_with_many_jumpdests/empty 0.01 0.01 +5.4% PASS
total/micro/memory_grow_mload/by1 0.02 0.02 -0.7% PASS
total/micro/memory_grow_mload/by16 0.02 0.02 -1.7% PASS
total/micro/memory_grow_mload/by32 0.01 0.01 +2.3% PASS
total/micro/memory_grow_mload/nogrow 0.01 0.01 -0.4% PASS
total/micro/memory_grow_mstore/by1 0.02 0.02 -12.2% PASS
total/micro/memory_grow_mstore/by16 0.01 0.01 -0.8% PASS
total/micro/memory_grow_mstore/by32 0.02 0.02 +7.9% PASS
total/micro/memory_grow_mstore/nogrow 0.02 0.02 -0.4% PASS
total/micro/signextend/one 0.12 0.12 +1.6% PASS
total/micro/signextend/zero 0.24 0.24 +2.5% PASS
total/synth/ADD/b0 0.00 0.00 +0.3% PASS
total/synth/ADD/b1 0.00 0.00 +0.7% PASS
total/synth/ADDRESS/a0 0.19 0.22 +15.5% PASS
total/synth/ADDRESS/a1 0.15 0.15 -0.3% PASS
total/synth/AND/b0 0.00 0.00 +0.1% PASS
total/synth/AND/b1 0.00 0.00 -1.3% PASS
total/synth/BYTE/b0 0.00 0.00 +1.3% PASS
total/synth/BYTE/b1 0.00 0.00 +2.9% PASS
total/synth/CALLDATASIZE/a0 0.12 0.12 -0.1% PASS
total/synth/CALLDATASIZE/a1 0.08 0.08 -0.2% PASS
total/synth/CALLER/a0 0.30 0.29 -4.2% PASS
total/synth/CALLER/a1 0.29 0.28 -4.6% PASS
total/synth/CALLVALUE/a0 0.21 0.21 -0.1% PASS
total/synth/CALLVALUE/a1 0.29 0.27 -5.7% PASS
total/synth/CODESIZE/a0 0.13 0.12 -2.9% PASS
total/synth/CODESIZE/a1 0.12 0.14 +15.7% PASS
total/synth/DUP1/d0 0.00 0.00 -2.7% PASS
total/synth/DUP1/d1 0.00 0.00 -1.4% PASS
total/synth/DUP10/d0 0.00 0.00 -0.0% PASS
total/synth/DUP10/d1 0.00 0.00 +0.1% PASS
total/synth/DUP11/d0 0.00 0.00 +0.2% PASS
total/synth/DUP11/d1 0.00 0.00 +9.1% PASS
total/synth/DUP12/d0 0.00 0.00 -0.1% PASS
total/synth/DUP12/d1 0.00 0.00 +0.5% PASS
total/synth/DUP13/d0 0.00 0.00 -0.4% PASS
total/synth/DUP13/d1 0.00 0.00 +14.9% PASS
total/synth/DUP14/d0 0.00 0.00 +0.2% PASS
total/synth/DUP14/d1 0.00 0.00 +1.3% PASS
total/synth/DUP15/d0 0.00 0.00 -6.8% PASS
total/synth/DUP15/d1 0.00 0.00 +1.0% PASS
total/synth/DUP16/d0 0.00 0.00 +0.1% PASS
total/synth/DUP16/d1 0.00 0.00 +0.1% PASS
total/synth/DUP2/d0 0.00 0.00 +0.5% PASS
total/synth/DUP2/d1 0.00 0.00 +0.6% PASS
total/synth/DUP3/d0 0.00 0.00 -0.6% PASS
total/synth/DUP3/d1 0.00 0.00 +0.9% PASS
total/synth/DUP4/d0 0.00 0.00 +6.0% PASS
total/synth/DUP4/d1 0.00 0.00 +10.1% PASS
total/synth/DUP5/d0 0.00 0.00 +0.3% PASS
total/synth/DUP5/d1 0.00 0.00 -18.1% PASS
total/synth/DUP6/d0 0.00 0.00 -17.3% PASS
total/synth/DUP6/d1 0.00 0.00 -0.2% PASS
total/synth/DUP7/d0 0.00 0.00 +1.8% PASS
total/synth/DUP7/d1 0.00 0.00 -0.0% PASS
total/synth/DUP8/d0 0.00 0.00 +0.5% PASS
total/synth/DUP8/d1 0.00 0.00 -11.2% PASS
total/synth/DUP9/d0 0.00 0.00 -4.5% PASS
total/synth/DUP9/d1 0.00 0.00 +0.6% PASS
total/synth/EQ/b0 0.00 0.00 +4.6% PASS
total/synth/EQ/b1 0.00 0.00 -3.1% PASS
total/synth/GAS/a0 0.52 0.52 -0.1% PASS
total/synth/GAS/a1 0.80 0.80 +0.4% PASS
total/synth/GT/b0 0.00 0.00 -1.0% PASS
total/synth/GT/b1 0.00 0.00 +21.0% PASS
total/synth/ISZERO/u0 0.00 0.00 -5.9% PASS
total/synth/JUMPDEST/n0 0.00 0.00 -0.4% PASS
total/synth/LT/b0 0.00 0.00 +0.9% PASS
total/synth/LT/b1 0.00 0.00 +0.6% PASS
total/synth/MSIZE/a0 0.00 0.00 -0.2% PASS
total/synth/MSIZE/a1 0.00 0.00 -15.1% PASS
total/synth/MUL/b0 0.00 0.00 -0.3% PASS
total/synth/MUL/b1 0.00 0.00 -0.2% PASS
total/synth/NOT/u0 0.00 0.00 -1.8% PASS
total/synth/OR/b0 0.00 0.00 -12.0% PASS
total/synth/OR/b1 0.00 0.00 +0.4% PASS
total/synth/PC/a0 0.00 0.00 -1.1% PASS
total/synth/PC/a1 0.00 0.00 +0.0% PASS
total/synth/PUSH1/p0 0.00 0.00 -19.5% PASS
total/synth/PUSH1/p1 0.00 0.00 +0.5% PASS
total/synth/PUSH10/p0 0.00 0.00 +20.4% PASS
total/synth/PUSH10/p1 0.00 0.00 -3.3% PASS
total/synth/PUSH11/p0 0.00 0.00 -0.2% PASS
total/synth/PUSH11/p1 0.00 0.00 +15.3% PASS
total/synth/PUSH12/p0 0.00 0.00 -4.3% PASS
total/synth/PUSH12/p1 0.00 0.00 -4.2% PASS
total/synth/PUSH13/p0 0.00 0.00 +124.1% PASS
total/synth/PUSH13/p1 0.00 0.00 +0.2% PASS
total/synth/PUSH14/p0 0.00 0.00 -3.2% PASS
total/synth/PUSH14/p1 0.00 0.00 -2.7% PASS
total/synth/PUSH15/p0 0.00 0.00 -5.8% PASS
total/synth/PUSH15/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH16/p0 0.00 0.00 +13.2% PASS
total/synth/PUSH16/p1 0.00 0.00 -5.5% PASS
total/synth/PUSH17/p0 0.00 0.00 -8.3% PASS
total/synth/PUSH17/p1 0.00 0.00 +1.3% PASS
total/synth/PUSH18/p0 0.00 0.00 -7.7% PASS
total/synth/PUSH18/p1 0.00 0.00 +2.5% PASS
total/synth/PUSH19/p0 0.00 0.00 -2.6% PASS
total/synth/PUSH19/p1 0.00 0.00 -1.4% PASS
total/synth/PUSH2/p0 0.00 0.00 +11.5% PASS
total/synth/PUSH2/p1 0.00 0.00 -2.5% PASS
total/synth/PUSH20/p0 0.00 0.00 +1.2% PASS
total/synth/PUSH20/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH21/p0 0.00 0.00 +1.2% PASS
total/synth/PUSH21/p1 0.00 0.00 +1.5% PASS
total/synth/PUSH22/p0 2.47 2.45 -0.9% PASS
total/synth/PUSH22/p1 1.65 1.60 -2.8% PASS
total/synth/PUSH23/p0 2.47 2.44 -1.4% PASS
total/synth/PUSH23/p1 1.62 1.65 +2.0% PASS
total/synth/PUSH24/p0 1.38 1.35 -1.9% PASS
total/synth/PUSH24/p1 2.50 2.51 +0.4% PASS
total/synth/PUSH25/p0 2.45 2.40 -2.2% PASS
total/synth/PUSH25/p1 1.57 1.64 +3.9% PASS
total/synth/PUSH26/p0 2.32 2.16 -6.7% PASS
total/synth/PUSH26/p1 2.24 2.51 +11.8% PASS
total/synth/PUSH27/p0 1.35 1.37 +1.5% PASS
total/synth/PUSH27/p1 2.52 2.39 -5.2% PASS
total/synth/PUSH28/p0 2.49 2.47 -0.8% PASS
total/synth/PUSH28/p1 1.59 1.58 -0.5% PASS
total/synth/PUSH29/p0 2.21 2.31 +4.5% PASS
total/synth/PUSH29/p1 2.14 2.51 +16.8% PASS
total/synth/PUSH3/p0 0.00 0.00 -0.2% PASS
total/synth/PUSH3/p1 0.00 0.00 +9.5% PASS
total/synth/PUSH30/p0 1.40 1.34 -4.6% PASS
total/synth/PUSH30/p1 2.52 2.50 -0.7% PASS
total/synth/PUSH31/p0 2.44 2.44 -0.2% PASS
total/synth/PUSH31/p1 1.63 1.59 -2.8% PASS
total/synth/PUSH32/p0 2.19 2.47 +12.9% PASS
total/synth/PUSH32/p1 2.51 2.51 +0.1% PASS
total/synth/PUSH4/p0 0.00 0.00 -1.3% PASS
total/synth/PUSH4/p1 0.00 0.00 +0.6% PASS
total/synth/PUSH5/p0 0.00 0.00 +11.3% PASS
total/synth/PUSH5/p1 0.00 0.00 -3.2% PASS
total/synth/PUSH6/p0 0.00 0.00 +3.3% PASS
total/synth/PUSH6/p1 0.00 0.00 -0.7% PASS
total/synth/PUSH7/p0 0.00 0.00 +2.5% PASS
total/synth/PUSH7/p1 0.00 0.00 -1.3% PASS
total/synth/PUSH8/p0 0.00 0.00 +7.5% PASS
total/synth/PUSH8/p1 0.00 0.00 -5.0% PASS
total/synth/PUSH9/p0 0.00 0.00 +0.5% PASS
total/synth/PUSH9/p1 0.00 0.00 +6.8% PASS
total/synth/RETURNDATASIZE/a0 0.04 0.04 -0.7% PASS
total/synth/RETURNDATASIZE/a1 0.05 0.05 -3.9% PASS
total/synth/SAR/b0 0.00 0.00 +0.5% PASS
total/synth/SAR/b1 0.00 0.00 -6.6% PASS
total/synth/SGT/b0 0.00 0.00 +1.7% PASS
total/synth/SGT/b1 0.00 0.00 +0.7% PASS
total/synth/SHL/b0 0.00 0.00 +1.3% PASS
total/synth/SHL/b1 0.00 0.00 -0.1% PASS
total/synth/SHR/b0 0.00 0.00 -0.8% PASS
total/synth/SHR/b1 0.00 0.00 +16.2% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 +0.1% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 -0.2% PASS
total/synth/SLT/b0 0.00 0.00 +0.2% PASS
total/synth/SLT/b1 0.00 0.00 +10.3% PASS
total/synth/SUB/b0 0.00 0.00 +1.8% PASS
total/synth/SUB/b1 0.00 0.00 -0.7% PASS
total/synth/SWAP1/s0 0.00 0.00 +0.7% PASS
total/synth/SWAP10/s0 0.00 0.00 +0.3% PASS
total/synth/SWAP11/s0 0.00 0.00 -0.9% PASS
total/synth/SWAP12/s0 0.00 0.00 -17.1% PASS
total/synth/SWAP13/s0 0.00 0.00 +1.3% PASS
total/synth/SWAP14/s0 0.00 0.00 -4.9% PASS
total/synth/SWAP15/s0 0.00 0.00 -2.6% PASS
total/synth/SWAP16/s0 0.00 0.00 +0.4% PASS
total/synth/SWAP2/s0 0.00 0.00 -1.1% PASS
total/synth/SWAP3/s0 0.00 0.00 -1.5% PASS
total/synth/SWAP4/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP5/s0 0.00 0.00 -0.6% PASS
total/synth/SWAP6/s0 0.00 0.00 -0.0% PASS
total/synth/SWAP7/s0 0.00 0.00 +0.3% PASS
total/synth/SWAP8/s0 0.00 0.00 +7.0% PASS
total/synth/SWAP9/s0 0.00 0.00 -15.4% PASS
total/synth/XOR/b0 0.00 0.00 +1.7% PASS
total/synth/XOR/b1 0.00 0.00 -1.5% PASS
total/synth/loop_v1 2.69 2.73 +1.5% PASS
total/synth/loop_v2 2.69 2.65 -1.6% PASS

Summary: 194 benchmarks, 0 regressions


abmcar added 2 commits May 24, 2026 13:22
Replace pure runtime fallback (callRuntimeFor -> intx::clz) with inline
chain-select pattern modeled on handleExp's computeExpByteSize lambda
(evm_mir_compiler.cpp:2511-2562). Saves HostArgScratch + Uint256ReturnBuffer
roundtrip per CLZ. Tag result with ValueRange::U64 so downstream narrow
consumers (PR DTVMStack#493 EVMRangeAnalyzer) can fire across basic blocks.

clz(0) handled via outer Select(IsZero, 256, ...) for spec fidelity
per EIP-7939, plus a defense-in-depth Limb|1 guard mirroring handleExp.

Test: multipass unittests 223/223 (all 4 evm.clz_* incl. clz_osaka with
9 vectors), multipass statetest fork_Cancun 2723/2723.
handleClz now inlines a 4-limb chain-select pattern in the multipass
frontend (previous commit), so the GetClz runtime helper has no
remaining callers. Drop the typedef field, declaration, dispatch table
registration, and implementation.
@abmcar
abmcar force-pushed the perf/u256-clz-inline branch from 43916f8 to ca3ca45 Compare May 24, 2026 05:25
@abmcar

abmcar commented May 24, 2026

Copy link
Copy Markdown
Owner Author

Superseded by upstream DTVMStack#516 (now includes dead-code cleanup as a second commit).

@abmcar abmcar closed this May 24, 2026
@github-actions

Copy link
Copy Markdown

Performance Check Passed (interpreter)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 3.80 3.78 -0.6% PASS
total/main/blake2b_huff/empty 0.06 0.07 +10.8% PASS
total/main/blake2b_shifts/8415nulls 20.67 20.77 +0.5% PASS
total/main/sha1_divs/5311 11.74 11.74 +0.0% PASS
total/main/sha1_divs/empty 0.14 0.17 +16.3% PASS
total/main/sha1_shifts/5311 9.57 10.70 +11.9% PASS
total/main/sha1_shifts/empty 0.08 0.08 +0.2% PASS
total/main/snailtracer/benchmark 108.52 110.73 +2.0% PASS
total/main/structarray_alloc/nfts_rank 1.38 1.42 +2.8% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +1.3% PASS
total/main/swap_math/received 0.01 0.01 +6.5% PASS
total/main/swap_math/spent 0.01 0.01 +5.3% PASS
total/main/weierstrudel/1 0.39 0.41 +6.9% PASS
total/main/weierstrudel/15 4.37 4.32 -1.0% PASS
total/micro/JUMPDEST_n0/empty 2.87 2.87 -0.1% PASS
total/micro/jump_around/empty 0.11 0.11 +0.9% PASS
total/micro/loop_with_many_jumpdests/empty 63.60 62.87 -1.1% PASS
total/micro/memory_grow_mload/by1 0.22 0.23 +1.8% PASS
total/micro/memory_grow_mload/by16 0.24 0.24 +0.3% PASS
total/micro/memory_grow_mload/by32 0.15 0.15 +0.5% PASS
total/micro/memory_grow_mload/nogrow 0.11 0.12 +1.8% PASS
total/micro/memory_grow_mstore/by1 0.24 0.24 -3.7% PASS
total/micro/memory_grow_mstore/by16 0.14 0.14 -0.1% PASS
total/micro/memory_grow_mstore/by32 0.28 0.29 +1.3% PASS
total/micro/memory_grow_mstore/nogrow 0.24 0.23 -2.7% PASS
total/micro/signextend/one 0.28 0.28 -0.3% PASS
total/micro/signextend/zero 0.48 0.50 +3.4% PASS
total/synth/ADD/b0 3.31 3.23 -2.2% PASS
total/synth/ADD/b1 6.06 6.10 +0.6% PASS
total/synth/ADDRESS/a0 6.36 6.50 +2.2% PASS
total/synth/ADDRESS/a1 5.07 5.47 +7.9% PASS
total/synth/AND/b0 2.89 2.86 -1.3% PASS
total/synth/AND/b1 5.18 5.47 +5.6% PASS
total/synth/BYTE/b0 6.07 6.07 +0.1% PASS
total/synth/BYTE/b1 8.50 8.85 +4.1% PASS
total/synth/CALLDATASIZE/a0 5.47 5.65 +3.3% PASS
total/synth/CALLDATASIZE/a1 3.32 3.62 +8.9% PASS
total/synth/CALLER/a0 6.44 6.49 +0.8% PASS
total/synth/CALLER/a1 6.73 6.73 +0.1% PASS
total/synth/CALLVALUE/a0 3.40 3.51 +3.2% PASS
total/synth/CALLVALUE/a1 6.18 6.52 +5.5% PASS
total/synth/CODESIZE/a0 6.58 6.60 +0.3% PASS
total/synth/CODESIZE/a1 6.37 6.63 +4.1% PASS
total/synth/DUP1/d0 1.98 1.98 +0.4% PASS
total/synth/DUP1/d1 2.05 2.09 +2.4% PASS
total/synth/DUP10/d0 1.95 1.99 +2.4% PASS
total/synth/DUP10/d1 2.15 2.08 -3.0% PASS
total/synth/DUP11/d0 1.23 1.23 -0.4% PASS
total/synth/DUP11/d1 2.15 2.14 -0.4% PASS
total/synth/DUP12/d0 2.00 2.04 +1.8% PASS
total/synth/DUP12/d1 1.45 1.45 +0.3% PASS
total/synth/DUP13/d0 1.99 1.91 -4.1% PASS
total/synth/DUP13/d1 2.10 2.13 +1.1% PASS
total/synth/DUP14/d0 1.11 1.23 +11.0% PASS
total/synth/DUP14/d1 2.02 2.18 +7.7% PASS
total/synth/DUP15/d0 2.03 1.99 -2.0% PASS
total/synth/DUP15/d1 1.65 1.47 -11.2% PASS
total/synth/DUP16/d0 1.96 2.01 +2.4% PASS
total/synth/DUP16/d1 2.14 2.05 -4.1% PASS
total/synth/DUP2/d0 1.12 1.10 -1.3% PASS
total/synth/DUP2/d1 2.08 2.16 +3.6% PASS
total/synth/DUP3/d0 1.97 1.99 +1.1% PASS
total/synth/DUP3/d1 1.65 1.45 -12.4% PASS
total/synth/DUP4/d0 2.00 1.93 -3.2% PASS
total/synth/DUP4/d1 2.14 2.13 -0.5% PASS
total/synth/DUP5/d0 1.23 1.23 +0.1% PASS
total/synth/DUP5/d1 2.13 2.18 +2.3% PASS
total/synth/DUP6/d0 2.00 2.03 +1.5% PASS
total/synth/DUP6/d1 1.66 1.45 -12.4% PASS
total/synth/DUP7/d0 2.00 2.06 +3.2% PASS
total/synth/DUP7/d1 2.12 2.15 +1.6% PASS
total/synth/DUP8/d0 1.23 1.13 -8.5% PASS
total/synth/DUP8/d1 2.14 2.19 +2.4% PASS
total/synth/DUP9/d0 1.98 1.98 +0.1% PASS
total/synth/DUP9/d1 1.45 1.55 +6.4% PASS
total/synth/EQ/b0 5.99 5.95 -0.6% PASS
total/synth/EQ/b1 6.20 6.32 +1.9% PASS
total/synth/GAS/a0 3.93 4.44 +13.0% PASS
total/synth/GAS/a1 7.25 7.45 +2.7% PASS
total/synth/GT/b0 6.08 6.15 +1.2% PASS
total/synth/GT/b1 6.25 6.30 +0.8% PASS
total/synth/ISZERO/u0 9.62 9.52 -1.1% PASS
total/synth/JUMPDEST/n0 2.87 2.88 +0.2% PASS
total/synth/LT/b0 6.23 5.96 -4.3% PASS
total/synth/LT/b1 5.33 5.36 +0.6% PASS
total/synth/MSIZE/a0 5.85 5.74 -1.7% PASS
total/synth/MSIZE/a1 5.73 5.90 +2.9% PASS
total/synth/MUL/b0 7.97 8.04 +0.8% PASS
total/synth/MUL/b1 5.92 5.93 +0.1% PASS
total/synth/NOT/u0 8.12 7.93 -2.4% PASS
total/synth/OR/b0 5.41 5.04 -6.9% PASS
total/synth/OR/b1 3.40 3.66 +7.6% PASS
total/synth/PC/a0 5.36 5.36 -0.1% PASS
total/synth/PC/a1 3.32 3.87 +16.6% PASS
total/synth/PUSH1/p0 2.25 2.23 -0.7% PASS
total/synth/PUSH1/p1 1.55 1.56 +0.6% PASS
total/synth/PUSH10/p0 2.30 2.47 +7.3% PASS
total/synth/PUSH10/p1 1.76 1.54 -12.4% PASS
total/synth/PUSH11/p0 2.43 2.28 -6.2% PASS
total/synth/PUSH11/p1 2.41 2.45 +1.6% PASS
total/synth/PUSH12/p0 1.32 1.32 -0.3% PASS
total/synth/PUSH12/p1 2.60 2.42 -7.0% PASS
total/synth/PUSH13/p0 2.30 2.24 -2.4% PASS
total/synth/PUSH13/p1 1.75 1.76 +0.2% PASS
total/synth/PUSH14/p0 2.39 2.35 -1.7% PASS
total/synth/PUSH14/p1 2.38 2.48 +4.0% PASS
total/synth/PUSH15/p0 1.32 1.32 +0.0% PASS
total/synth/PUSH15/p1 2.72 2.74 +0.7% PASS
total/synth/PUSH16/p0 2.25 2.31 +2.4% PASS
total/synth/PUSH16/p1 1.58 1.54 -2.1% PASS
total/synth/PUSH17/p0 2.21 2.34 +6.0% PASS
total/synth/PUSH17/p1 2.43 2.33 -4.1% PASS
total/synth/PUSH18/p0 1.33 1.32 -1.3% PASS
total/synth/PUSH18/p1 2.45 2.42 -1.4% PASS
total/synth/PUSH19/p0 2.24 2.33 +3.8% PASS
total/synth/PUSH19/p1 1.76 1.75 -0.5% PASS
total/synth/PUSH2/p0 2.26 2.36 +4.7% PASS
total/synth/PUSH2/p1 2.33 2.37 +1.8% PASS
total/synth/PUSH20/p0 2.22 2.28 +2.5% PASS
total/synth/PUSH20/p1 2.43 2.51 +3.5% PASS
total/synth/PUSH21/p0 1.33 1.32 -0.8% PASS
total/synth/PUSH21/p1 2.46 2.40 -2.5% PASS
total/synth/PUSH22/p0 2.41 2.22 -7.7% PASS
total/synth/PUSH22/p1 1.58 1.75 +10.7% PASS
total/synth/PUSH23/p0 2.34 2.29 -2.4% PASS
total/synth/PUSH23/p1 2.56 2.55 -0.1% PASS
total/synth/PUSH24/p0 1.33 1.32 -0.3% PASS
total/synth/PUSH24/p1 2.52 2.48 -1.6% PASS
total/synth/PUSH25/p0 2.30 2.27 -1.2% PASS
total/synth/PUSH25/p1 1.55 1.75 +12.7% PASS
total/synth/PUSH26/p0 2.36 2.37 +0.7% PASS
total/synth/PUSH26/p1 2.31 2.52 +8.8% PASS
total/synth/PUSH27/p0 1.33 1.32 -0.7% PASS
total/synth/PUSH27/p1 2.53 2.45 -3.3% PASS
total/synth/PUSH28/p0 2.27 2.31 +1.9% PASS
total/synth/PUSH28/p1 1.78 1.56 -12.6% PASS
total/synth/PUSH29/p0 2.40 2.74 +14.0% PASS
total/synth/PUSH29/p1 2.45 2.44 -0.3% PASS
total/synth/PUSH3/p0 1.32 1.32 -0.1% PASS
total/synth/PUSH3/p1 2.43 2.30 -5.5% PASS
total/synth/PUSH30/p0 1.50 1.44 -3.9% PASS
total/synth/PUSH30/p1 2.37 2.37 -0.2% PASS
total/synth/PUSH31/p0 2.33 2.26 -3.2% PASS
total/synth/PUSH31/p1 1.68 1.64 -2.2% PASS
total/synth/PUSH32/p0 2.31 2.24 -3.1% PASS
total/synth/PUSH32/p1 2.50 2.46 -1.7% PASS
total/synth/PUSH4/p0 2.34 2.26 -3.3% PASS
total/synth/PUSH4/p1 1.55 1.54 -0.4% PASS
total/synth/PUSH5/p0 2.34 2.21 -5.2% PASS
total/synth/PUSH5/p1 2.57 2.36 -8.0% PASS
total/synth/PUSH6/p0 1.35 1.32 -2.4% PASS
total/synth/PUSH6/p1 2.48 2.62 +5.7% PASS
total/synth/PUSH7/p0 2.27 2.36 +4.0% PASS
total/synth/PUSH7/p1 1.58 1.55 -2.3% PASS
total/synth/PUSH8/p0 2.28 2.31 +1.2% PASS
total/synth/PUSH8/p1 2.49 2.46 -1.0% PASS
total/synth/PUSH9/p0 1.32 1.32 -0.0% PASS
total/synth/PUSH9/p1 2.42 2.50 +3.2% PASS
total/synth/RETURNDATASIZE/a0 3.76 4.08 +8.4% PASS
total/synth/RETURNDATASIZE/a1 6.39 6.30 -1.5% PASS
total/synth/SAR/b0 3.96 3.94 -0.4% PASS
total/synth/SAR/b1 7.34 7.69 +4.8% PASS
total/synth/SGT/b0 5.68 5.86 +3.2% PASS
total/synth/SGT/b1 4.13 4.02 -2.6% PASS
total/synth/SHL/b0 7.11 6.98 -1.8% PASS
total/synth/SHL/b1 3.70 3.70 -0.1% PASS
total/synth/SHR/b0 6.90 6.85 -0.7% PASS
total/synth/SHR/b1 6.30 6.24 -1.0% PASS
total/synth/SIGNEXTEND/b0 3.56 3.37 -5.3% PASS
total/synth/SIGNEXTEND/b1 6.83 6.91 +1.1% PASS
total/synth/SLT/b0 4.20 3.90 -7.1% PASS
total/synth/SLT/b1 5.51 5.79 +5.1% PASS
total/synth/SUB/b0 5.92 5.79 -2.3% PASS
total/synth/SUB/b1 5.99 5.94 -0.9% PASS
total/synth/SWAP1/s0 3.53 3.53 -0.1% PASS
total/synth/SWAP10/s0 3.54 3.54 +0.0% PASS
total/synth/SWAP11/s0 3.48 3.49 +0.2% PASS
total/synth/SWAP12/s0 3.70 3.43 -7.2% PASS
total/synth/SWAP13/s0 3.54 3.54 +0.0% PASS
total/synth/SWAP14/s0 3.48 3.50 +0.6% PASS
total/synth/SWAP15/s0 3.56 3.59 +0.7% PASS
total/synth/SWAP16/s0 3.52 3.56 +1.0% PASS
total/synth/SWAP2/s0 3.71 3.50 -5.7% PASS
total/synth/SWAP3/s0 3.52 3.52 +0.0% PASS
total/synth/SWAP4/s0 3.54 3.53 -0.1% PASS
total/synth/SWAP5/s0 3.62 3.46 -4.3% PASS
total/synth/SWAP6/s0 3.50 3.48 -0.4% PASS
total/synth/SWAP7/s0 3.54 3.53 -0.1% PASS
total/synth/SWAP8/s0 3.66 4.10 +12.1% PASS
total/synth/SWAP9/s0 3.44 4.18 +21.5% PASS
total/synth/XOR/b0 5.14 4.96 -3.6% PASS
total/synth/XOR/b1 5.24 5.46 +4.1% PASS
total/synth/loop_v1 11.94 12.16 +1.8% PASS
total/synth/loop_v2 11.99 12.16 +1.4% PASS

Summary: 194 benchmarks, 0 regressions

@github-actions

Copy link
Copy Markdown

Performance Check Passed (multipass)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 1.54 1.43 -6.6% PASS
total/main/blake2b_huff/empty 0.03 0.03 -2.3% PASS
total/main/blake2b_shifts/8415nulls 4.28 4.26 -0.5% PASS
total/main/sha1_divs/5311 1.25 1.24 -0.2% PASS
total/main/sha1_divs/empty 0.02 0.02 +0.2% PASS
total/main/sha1_shifts/5311 1.17 1.16 -0.7% PASS
total/main/sha1_shifts/empty 0.01 0.01 +5.3% PASS
total/main/snailtracer/benchmark 50.03 50.12 +0.2% PASS
total/main/structarray_alloc/nfts_rank 0.29 0.29 -0.5% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +4.4% PASS
total/main/swap_math/received 0.01 0.01 -3.5% PASS
total/main/swap_math/spent 0.00 0.00 -2.0% PASS
total/main/weierstrudel/1 0.33 0.34 +2.1% PASS
total/main/weierstrudel/15 3.60 3.84 +6.6% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 -0.4% PASS
total/micro/jump_around/empty 0.06 0.06 -1.9% PASS
total/micro/loop_with_many_jumpdests/empty 0.01 0.01 +5.4% PASS
total/micro/memory_grow_mload/by1 0.02 0.02 -0.7% PASS
total/micro/memory_grow_mload/by16 0.02 0.02 -1.7% PASS
total/micro/memory_grow_mload/by32 0.01 0.01 +2.3% PASS
total/micro/memory_grow_mload/nogrow 0.01 0.01 -0.4% PASS
total/micro/memory_grow_mstore/by1 0.02 0.02 -12.2% PASS
total/micro/memory_grow_mstore/by16 0.01 0.01 -0.8% PASS
total/micro/memory_grow_mstore/by32 0.02 0.02 +7.9% PASS
total/micro/memory_grow_mstore/nogrow 0.02 0.02 -0.4% PASS
total/micro/signextend/one 0.12 0.12 +1.6% PASS
total/micro/signextend/zero 0.24 0.24 +2.5% PASS
total/synth/ADD/b0 0.00 0.00 +0.3% PASS
total/synth/ADD/b1 0.00 0.00 +0.7% PASS
total/synth/ADDRESS/a0 0.19 0.22 +15.5% PASS
total/synth/ADDRESS/a1 0.15 0.15 -0.3% PASS
total/synth/AND/b0 0.00 0.00 +0.1% PASS
total/synth/AND/b1 0.00 0.00 -1.3% PASS
total/synth/BYTE/b0 0.00 0.00 +1.3% PASS
total/synth/BYTE/b1 0.00 0.00 +2.9% PASS
total/synth/CALLDATASIZE/a0 0.12 0.12 -0.1% PASS
total/synth/CALLDATASIZE/a1 0.08 0.08 -0.2% PASS
total/synth/CALLER/a0 0.30 0.29 -4.2% PASS
total/synth/CALLER/a1 0.29 0.28 -4.6% PASS
total/synth/CALLVALUE/a0 0.21 0.21 -0.1% PASS
total/synth/CALLVALUE/a1 0.29 0.27 -5.7% PASS
total/synth/CODESIZE/a0 0.13 0.12 -2.9% PASS
total/synth/CODESIZE/a1 0.12 0.14 +15.7% PASS
total/synth/DUP1/d0 0.00 0.00 -2.7% PASS
total/synth/DUP1/d1 0.00 0.00 -1.4% PASS
total/synth/DUP10/d0 0.00 0.00 -0.0% PASS
total/synth/DUP10/d1 0.00 0.00 +0.1% PASS
total/synth/DUP11/d0 0.00 0.00 +0.2% PASS
total/synth/DUP11/d1 0.00 0.00 +9.1% PASS
total/synth/DUP12/d0 0.00 0.00 -0.1% PASS
total/synth/DUP12/d1 0.00 0.00 +0.5% PASS
total/synth/DUP13/d0 0.00 0.00 -0.4% PASS
total/synth/DUP13/d1 0.00 0.00 +14.9% PASS
total/synth/DUP14/d0 0.00 0.00 +0.2% PASS
total/synth/DUP14/d1 0.00 0.00 +1.3% PASS
total/synth/DUP15/d0 0.00 0.00 -6.8% PASS
total/synth/DUP15/d1 0.00 0.00 +1.0% PASS
total/synth/DUP16/d0 0.00 0.00 +0.1% PASS
total/synth/DUP16/d1 0.00 0.00 +0.1% PASS
total/synth/DUP2/d0 0.00 0.00 +0.5% PASS
total/synth/DUP2/d1 0.00 0.00 +0.6% PASS
total/synth/DUP3/d0 0.00 0.00 -0.6% PASS
total/synth/DUP3/d1 0.00 0.00 +0.9% PASS
total/synth/DUP4/d0 0.00 0.00 +6.0% PASS
total/synth/DUP4/d1 0.00 0.00 +10.1% PASS
total/synth/DUP5/d0 0.00 0.00 +0.3% PASS
total/synth/DUP5/d1 0.00 0.00 -18.1% PASS
total/synth/DUP6/d0 0.00 0.00 -17.3% PASS
total/synth/DUP6/d1 0.00 0.00 -0.2% PASS
total/synth/DUP7/d0 0.00 0.00 +1.8% PASS
total/synth/DUP7/d1 0.00 0.00 -0.0% PASS
total/synth/DUP8/d0 0.00 0.00 +0.5% PASS
total/synth/DUP8/d1 0.00 0.00 -11.2% PASS
total/synth/DUP9/d0 0.00 0.00 -4.5% PASS
total/synth/DUP9/d1 0.00 0.00 +0.6% PASS
total/synth/EQ/b0 0.00 0.00 +4.6% PASS
total/synth/EQ/b1 0.00 0.00 -3.1% PASS
total/synth/GAS/a0 0.52 0.52 -0.1% PASS
total/synth/GAS/a1 0.80 0.80 +0.4% PASS
total/synth/GT/b0 0.00 0.00 -1.0% PASS
total/synth/GT/b1 0.00 0.00 +21.0% PASS
total/synth/ISZERO/u0 0.00 0.00 -5.9% PASS
total/synth/JUMPDEST/n0 0.00 0.00 -0.4% PASS
total/synth/LT/b0 0.00 0.00 +0.9% PASS
total/synth/LT/b1 0.00 0.00 +0.6% PASS
total/synth/MSIZE/a0 0.00 0.00 -0.2% PASS
total/synth/MSIZE/a1 0.00 0.00 -15.1% PASS
total/synth/MUL/b0 0.00 0.00 -0.3% PASS
total/synth/MUL/b1 0.00 0.00 -0.2% PASS
total/synth/NOT/u0 0.00 0.00 -1.8% PASS
total/synth/OR/b0 0.00 0.00 -12.0% PASS
total/synth/OR/b1 0.00 0.00 +0.4% PASS
total/synth/PC/a0 0.00 0.00 -1.1% PASS
total/synth/PC/a1 0.00 0.00 +0.0% PASS
total/synth/PUSH1/p0 0.00 0.00 -19.5% PASS
total/synth/PUSH1/p1 0.00 0.00 +0.5% PASS
total/synth/PUSH10/p0 0.00 0.00 +20.4% PASS
total/synth/PUSH10/p1 0.00 0.00 -3.3% PASS
total/synth/PUSH11/p0 0.00 0.00 -0.2% PASS
total/synth/PUSH11/p1 0.00 0.00 +15.3% PASS
total/synth/PUSH12/p0 0.00 0.00 -4.3% PASS
total/synth/PUSH12/p1 0.00 0.00 -4.2% PASS
total/synth/PUSH13/p0 0.00 0.00 +124.1% PASS
total/synth/PUSH13/p1 0.00 0.00 +0.2% PASS
total/synth/PUSH14/p0 0.00 0.00 -3.2% PASS
total/synth/PUSH14/p1 0.00 0.00 -2.7% PASS
total/synth/PUSH15/p0 0.00 0.00 -5.8% PASS
total/synth/PUSH15/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH16/p0 0.00 0.00 +13.2% PASS
total/synth/PUSH16/p1 0.00 0.00 -5.5% PASS
total/synth/PUSH17/p0 0.00 0.00 -8.3% PASS
total/synth/PUSH17/p1 0.00 0.00 +1.3% PASS
total/synth/PUSH18/p0 0.00 0.00 -7.7% PASS
total/synth/PUSH18/p1 0.00 0.00 +2.5% PASS
total/synth/PUSH19/p0 0.00 0.00 -2.6% PASS
total/synth/PUSH19/p1 0.00 0.00 -1.4% PASS
total/synth/PUSH2/p0 0.00 0.00 +11.5% PASS
total/synth/PUSH2/p1 0.00 0.00 -2.5% PASS
total/synth/PUSH20/p0 0.00 0.00 +1.2% PASS
total/synth/PUSH20/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH21/p0 0.00 0.00 +1.2% PASS
total/synth/PUSH21/p1 0.00 0.00 +1.5% PASS
total/synth/PUSH22/p0 2.47 2.45 -0.9% PASS
total/synth/PUSH22/p1 1.65 1.60 -2.8% PASS
total/synth/PUSH23/p0 2.47 2.44 -1.4% PASS
total/synth/PUSH23/p1 1.62 1.65 +2.0% PASS
total/synth/PUSH24/p0 1.38 1.35 -1.9% PASS
total/synth/PUSH24/p1 2.50 2.51 +0.4% PASS
total/synth/PUSH25/p0 2.45 2.40 -2.2% PASS
total/synth/PUSH25/p1 1.57 1.64 +3.9% PASS
total/synth/PUSH26/p0 2.32 2.16 -6.7% PASS
total/synth/PUSH26/p1 2.24 2.51 +11.8% PASS
total/synth/PUSH27/p0 1.35 1.37 +1.5% PASS
total/synth/PUSH27/p1 2.52 2.39 -5.2% PASS
total/synth/PUSH28/p0 2.49 2.47 -0.8% PASS
total/synth/PUSH28/p1 1.59 1.58 -0.5% PASS
total/synth/PUSH29/p0 2.21 2.31 +4.5% PASS
total/synth/PUSH29/p1 2.14 2.51 +16.8% PASS
total/synth/PUSH3/p0 0.00 0.00 -0.2% PASS
total/synth/PUSH3/p1 0.00 0.00 +9.5% PASS
total/synth/PUSH30/p0 1.40 1.34 -4.6% PASS
total/synth/PUSH30/p1 2.52 2.50 -0.7% PASS
total/synth/PUSH31/p0 2.44 2.44 -0.2% PASS
total/synth/PUSH31/p1 1.63 1.59 -2.8% PASS
total/synth/PUSH32/p0 2.19 2.47 +12.9% PASS
total/synth/PUSH32/p1 2.51 2.51 +0.1% PASS
total/synth/PUSH4/p0 0.00 0.00 -1.3% PASS
total/synth/PUSH4/p1 0.00 0.00 +0.6% PASS
total/synth/PUSH5/p0 0.00 0.00 +11.3% PASS
total/synth/PUSH5/p1 0.00 0.00 -3.2% PASS
total/synth/PUSH6/p0 0.00 0.00 +3.3% PASS
total/synth/PUSH6/p1 0.00 0.00 -0.7% PASS
total/synth/PUSH7/p0 0.00 0.00 +2.5% PASS
total/synth/PUSH7/p1 0.00 0.00 -1.3% PASS
total/synth/PUSH8/p0 0.00 0.00 +7.5% PASS
total/synth/PUSH8/p1 0.00 0.00 -5.0% PASS
total/synth/PUSH9/p0 0.00 0.00 +0.5% PASS
total/synth/PUSH9/p1 0.00 0.00 +6.8% PASS
total/synth/RETURNDATASIZE/a0 0.04 0.04 -0.7% PASS
total/synth/RETURNDATASIZE/a1 0.05 0.05 -3.9% PASS
total/synth/SAR/b0 0.00 0.00 +0.5% PASS
total/synth/SAR/b1 0.00 0.00 -6.6% PASS
total/synth/SGT/b0 0.00 0.00 +1.7% PASS
total/synth/SGT/b1 0.00 0.00 +0.7% PASS
total/synth/SHL/b0 0.00 0.00 +1.3% PASS
total/synth/SHL/b1 0.00 0.00 -0.1% PASS
total/synth/SHR/b0 0.00 0.00 -0.8% PASS
total/synth/SHR/b1 0.00 0.00 +16.2% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 +0.1% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 -0.2% PASS
total/synth/SLT/b0 0.00 0.00 +0.2% PASS
total/synth/SLT/b1 0.00 0.00 +10.3% PASS
total/synth/SUB/b0 0.00 0.00 +1.8% PASS
total/synth/SUB/b1 0.00 0.00 -0.7% PASS
total/synth/SWAP1/s0 0.00 0.00 +0.7% PASS
total/synth/SWAP10/s0 0.00 0.00 +0.3% PASS
total/synth/SWAP11/s0 0.00 0.00 -0.9% PASS
total/synth/SWAP12/s0 0.00 0.00 -17.1% PASS
total/synth/SWAP13/s0 0.00 0.00 +1.3% PASS
total/synth/SWAP14/s0 0.00 0.00 -4.9% PASS
total/synth/SWAP15/s0 0.00 0.00 -2.6% PASS
total/synth/SWAP16/s0 0.00 0.00 +0.4% PASS
total/synth/SWAP2/s0 0.00 0.00 -1.1% PASS
total/synth/SWAP3/s0 0.00 0.00 -1.5% PASS
total/synth/SWAP4/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP5/s0 0.00 0.00 -0.6% PASS
total/synth/SWAP6/s0 0.00 0.00 -0.0% PASS
total/synth/SWAP7/s0 0.00 0.00 +0.3% PASS
total/synth/SWAP8/s0 0.00 0.00 +7.0% PASS
total/synth/SWAP9/s0 0.00 0.00 -15.4% PASS
total/synth/XOR/b0 0.00 0.00 +1.7% PASS
total/synth/XOR/b1 0.00 0.00 -1.5% PASS
total/synth/loop_v1 2.69 2.73 +1.5% PASS
total/synth/loop_v2 2.69 2.65 -1.6% PASS

Summary: 194 benchmarks, 0 regressions

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.

1 participant