Test reference: operation ↔ benchmark

How each compute operation maps to the benchmark that prices it. For every preset in evm-gasfit declared in fit.yaml: the target opcode, the EEST test that stresses it, the fixture parameters the model varies over, the fixture filter applied, and the gas parameter(s) the fit produces. Precompiles are invoked behind a call, so their count is read from the wrapping STATICCALL.

Target op Category Test Fixture params Fixture filter Gas params
ADD Arithmetic test_arithmetic opcode_ADD- OPCODE_ADD
ADDMOD Arithmetic test_arithmetic opcode_ADDMOD OPCODE_ADDMOD
ADDMOD Arithmetic test_mod_arithmetic mod_bits opcode_ADDMOD OPCODE_ADDMOD
DIV Arithmetic test_arithmetic opcode_DIV OPCODE_DIV
EXP Arithmetic test_arithmetic opcode_EXP OPCODE_EXP_BASE
MOD Arithmetic test_arithmetic opcode_MOD OPCODE_MOD
MOD Arithmetic test_mod mod_bits opcode_MOD OPCODE_MOD
MUL Arithmetic test_arithmetic opcode_MUL- OPCODE_MUL
MULMOD Arithmetic test_arithmetic opcode_MULMOD OPCODE_MULMOD
MULMOD Arithmetic test_mod_arithmetic mod_bits opcode_MULMOD OPCODE_MULMOD
SDIV Arithmetic test_arithmetic opcode_SDIV OPCODE_SDIV
SIGNEXTEND Arithmetic test_arithmetic opcode_SIGNEXTEND OPCODE_SIGNEXTEND
SMOD Arithmetic test_arithmetic opcode_SMOD OPCODE_SMOD
SMOD Arithmetic test_mod mod_bits opcode_SMOD OPCODE_SMOD
SUB Arithmetic test_arithmetic opcode_SUB OPCODE_SUB
BLS12_G1ADD via STATICCALL BLS12-381 test_bls12_381 bls12_g1add PRECOMPILE_BLS_G1ADD
BLS12_G1MSM via STATICCALL BLS12-381 test_bls12_g1_msm k bls12_g1msm PRECOMPILE_BLS_G1MUL
BLS12_G2ADD via STATICCALL BLS12-381 test_bls12_381 bls12_g2add PRECOMPILE_BLS_G2ADD
BLS12_G2MSM via STATICCALL BLS12-381 test_bls12_g2_msm k bls12_g2msm PRECOMPILE_BLS_G2MUL
BLS12_MAP_FP_TO_G1 via STATICCALL BLS12-381 test_bls12_381 bls12_fp_to_g1 PRECOMPILE_BLS_G1MAP
BLS12_MAP_FP_TO_G2 via STATICCALL BLS12-381 test_bls12_381 bls12_fp_to_g2 PRECOMPILE_BLS_G2MAP
AND Bitwise test_bitwise opcode_AND OPCODE_AND
BYTE Bitwise test_bitwise opcode_BYTE OPCODE_BYTE
CLZ Bitwise test_clz_same OPCODE_CLZ
NOT Bitwise test_not_op OPCODE_NOT
OR Bitwise test_bitwise opcode_OR OPCODE_OR
SAR Bitwise test_bitwise opcode_SAR OPCODE_SAR
SHL Bitwise test_bitwise opcode_SHL OPCODE_SHL
SHR Bitwise test_bitwise opcode_SHR OPCODE_SHR
XOR Bitwise test_bitwise opcode_XOR OPCODE_XOR
BASEFEE Block/tx test_block_context_ops opcode_BASEFEE OPCODE_BASEFEE
BLOBBASEFEE Block/tx test_block_context_ops opcode_BLOBBASEFEE OPCODE_BLOBBASEFEE
CHAINID Block/tx test_block_context_ops opcode_CHAINID OPCODE_CHAINID
COINBASE Block/tx test_block_context_ops opcode_COINBASE OPCODE_COINBASE
GASLIMIT Block/tx test_block_context_ops opcode_GASLIMIT OPCODE_GASLIMIT
GASPRICE Block/tx test_call_frame_context_ops opcode_GASPRICE OPCODE_GASPRICE
NUMBER Block/tx test_block_context_ops opcode_NUMBER OPCODE_NUMBER
ORIGIN Block/tx test_call_frame_context_ops opcode_ORIGIN OPCODE_ORIGIN
PREVRANDAO Block/tx test_block_context_ops opcode_PREVRANDAO OPCODE_PREVRANDAO
TIMESTAMP Block/tx test_block_context_ops opcode_TIMESTAMP OPCODE_TIMESTAMP
ADDRESS Call context test_call_frame_context_ops opcode_ADDRESS OPCODE_ADDRESS
CALLDATACOPY Call context test_calldatacopy_from_origin calldata_size, mem_size OPCODE_CALLDATACOPY_BASE OPCODE_CALLDATACOPY_PER_WORD
CALLDATALOAD Call context test_calldataload calldata_size OPCODE_CALLDATALOAD
CALLDATASIZE Call context test_calldatasize calldata_size OPCODE_CALLDATASIZE
CALLER Call context test_call_frame_context_ops opcode_CALLER OPCODE_CALLER
CALLVALUE Call context test_callvalue_from_origin OPCODE_CALLVALUE
RETURNDATACOPY Call context test_returndatacopy return_size, mem_size OPCODE_RETURNDATACOPY_BASE OPCODE_RETURNDATACOPY_PER_WORD
RETURNDATASIZE Call context test_returndatasize_nonzero returned_size OPCODE_RETURNDATASIZE
EQ Comparison test_comparison opcode_EQ OPCODE_EQ
GT Comparison test_comparison opcode_GT OPCODE_GT
ISZERO Comparison test_iszero OPCODE_ISZERO
LT Comparison test_comparison opcode_LT OPCODE_LT
SGT Comparison test_comparison opcode_SGT OPCODE_SGT
SLT Comparison test_comparison opcode_SLT OPCODE_SLT
GAS Control flow test_gas_op OPCODE_GAS
JUMP Control flow test_jump_benchmark OPCODE_JUMP
JUMPDEST Control flow test_jumpdests OPCODE_JUMPDEST
JUMPI Control flow test_jumpi_fallthrough OPCODE_JUMPI
PC Control flow test_pc_op OPCODE_PC
KECCAK256 Hashing test_keccak_diff_mem_msg_sizes mem_size OPCODE_KECCAK256_BASE OPCODE_KECCAK256_PER_WORD
MCOPY Memory test_mcopy copy_size, mem_size OPCODE_MCOPY_BASE OPCODE_MCOPY_PER_WORD
MLOAD Memory test_memory_access mem_size opcode_MLOAD OPCODE_MLOAD_BASE
MSIZE Memory test_msize OPCODE_MSIZE
MSTORE Memory test_memory_access mem_size opcode_MSTORE- OPCODE_MSTORE_BASE
MSTORE8 Memory test_memory_access mem_size opcode_MSTORE8 OPCODE_MSTORE8_BASE
BLAKE2F via STATICCALL Precompile test_blake2f_benchmark blake2f PRECOMPILE_BLAKE2F_BASE PRECOMPILE_BLAKE2F_PER_ROUND
BLAKE2F via STATICCALL Precompile test_blake2f_uncachable blake2f PRECOMPILE_BLAKE2F_BASE PRECOMPILE_BLAKE2F_PER_ROUND
ECADD via STATICCALL Precompile test_alt_bn128 bn128 bn128_, !bn128_mul PRECOMPILE_ECADD
ECADD via STATICCALL Precompile test_alt_bn128_uncachable ec_add PRECOMPILE_ECADD
ECMUL via STATICCALL Precompile test_alt_bn128 bn128_mul_ PRECOMPILE_ECMUL
ECMUL via STATICCALL Precompile test_alt_bn128_uncachable ec_mul_ PRECOMPILE_ECMUL
ECPAIRING via STATICCALL Precompile test_alt_bn128_benchmark num_pairs PRECOMPILE_ECPAIRING_BASE PRECOMPILE_ECPAIRING_PER_POINT
ECPAIRING via STATICCALL Precompile test_ec_pairing PRECOMPILE_ECPAIRING_BASE PRECOMPILE_ECPAIRING_PER_POINT
ECRECOVER via STATICCALL Precompile test_ecrecover ecrecover PRECOMPILE_ECRECOVER
IDENTITY via STATICCALL Precompile test_identity_fixed_size identity PRECOMPILE_IDENTITY_BASE PRECOMPILE_IDENTITY_PER_WORD
IDENTITY via STATICCALL Precompile test_identity_uncachable identity PRECOMPILE_IDENTITY_BASE PRECOMPILE_IDENTITY_PER_WORD
P256VERIFY via STATICCALL Precompile test_p256verify p256verify PRECOMPILE_P256VERIFY
P256VERIFY via STATICCALL Precompile test_p256verify_uncachable p256verify PRECOMPILE_P256VERIFY
POINT_EVALUATION via STATICCALL Precompile test_point_evaluation point_evaluation PRECOMPILE_POINT_EVALUATION
POINT_EVALUATION via STATICCALL Precompile test_point_evaluation_uncachable point_evaluation PRECOMPILE_POINT_EVALUATION
RIPEMD160 via STATICCALL Precompile test_ripemd160_fixed_size ripemd160 PRECOMPILE_RIPEMD160_BASE PRECOMPILE_RIPEMD160_PER_WORD
RIPEMD160 via STATICCALL Precompile test_ripemd160_uncachable ripemd160 PRECOMPILE_RIPEMD160_BASE PRECOMPILE_RIPEMD160_PER_WORD
SHA256 via STATICCALL Precompile test_sha256_fixed_size sha256 PRECOMPILE_SHA256_BASE PRECOMPILE_SHA256_PER_WORD
SHA256 via STATICCALL Precompile test_sha256_uncachable sha256 PRECOMPILE_SHA256_BASE PRECOMPILE_SHA256_PER_WORD
DUP* (per opcode) Stack test_dup opcode OPCODE_DUP
PUSH* (per opcode) Stack test_push opcode opcode_PUSH OPCODE_PUSH
PUSH0 Stack test_push opcode_PUSH0- OPCODE_PUSH0
SWAP* (per opcode) Stack test_swap opcode OPCODE_SWAP