{ "samples": [ { "name": "branch", "symbol": "branch_target", "patterns": [ "select i1", { "line_all": ["mul i32", ", 3"] }, { "line_all": ["add i32", ", 100"] }, "xor i32" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 87, "label": "le path: (0+100)^0x33=87" }, { "inputs": { "RCX": 3 }, "expected": 84, "label": "le path: (3+100)^0x33=84" }, { "inputs": { "RCX": 5 }, "expected": 90, "label": "le boundary: (5+100)^0x33=90" }, { "inputs": { "RCX": 6 }, "expected": 33, "label": "gt path: (6*3)^0x33=33" }, { "inputs": { "RCX": 10 }, "expected": 45, "label": "gt path: (10*3)^0x33=45" } ] }, { "name": "stack", "symbol": "stack_target", "patterns": ["ret i64 1717986918"], "semantic": [ { "expected": 1717986918, "label": "constant: 0x66666666" } ] }, { "name": "indirect", "symbol": "jump_target", "patterns": ["ret i64 53"], "semantic": [ { "expected": 53, "label": "constant: hardcoded case2 0x30+5" } ] }, { "name": "instr_add", "symbol": "instr_add_target", "patterns": ["ret i64 12"], "semantic": [ { "expected": 12, "label": "constant: 7+5" } ] }, { "name": "instr_sub", "symbol": "instr_sub_target", "patterns": ["ret i64 42"], "semantic": [ { "expected": 42, "label": "constant: 100-58" } ] }, { "name": "instr_xor", "symbol": "instr_xor_target", "patterns": ["ret i64 90"], "semantic": [ { "expected": 90, "label": "constant: 0x55^0x0F=0x5A=90" } ] }, { "name": "instr_rol", "symbol": "instr_rol_target", "patterns": ["ret i64 34"], "semantic": [ { "expected": 34, "label": "constant: rol(0x11,1)=0x22=34" } ] }, { "name": "nested_branch", "symbol": "nested_branch_target", "patterns": [ { "line_all": ["icmp slt i32", ", 11"] }, { "line_all": ["icmp slt i32", ", 21"] }, "select i1", "i64 200, i64 300", "i64 100" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 100, "label": "<=10" }, { "inputs": { "RCX": 5 }, "expected": 100, "label": "<=10 interior" }, { "inputs": { "RCX": 10 }, "expected": 100, "label": "<=10 boundary" }, { "inputs": { "RCX": 11 }, "expected": 200, "label": "11..20" }, { "inputs": { "RCX": 15 }, "expected": 200, "label": "11..20 interior" }, { "inputs": { "RCX": 20 }, "expected": 200, "label": "<=20 boundary" }, { "inputs": { "RCX": 21 }, "expected": 300, "label": ">20" }, { "inputs": { "RCX": 100 }, "expected": 300, "label": ">20 far" } ] }, { "name": "loop_simple", "symbol": "loop_simple_target", "patterns": ["ret i64 6"], "semantic": [ { "expected": 6, "label": "constant: 3+2+1" } ] }, { "name": "dummy_vm_loop", "symbol": "dummy_vm_loop_target", "patterns": [ { "line_all": ["and i32", ", 1"] }, { "line_all": ["and i32", ", 7"] }, "phi i32", "add i32", "sub i32", "br i1" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 40, "label": "even opcode takes constant handler" }, { "inputs": { "RCX": 1 }, "expected": 0, "label": "odd opcode loop with limit 1 returns 0" }, { "inputs": { "RCX": 3 }, "expected": 3, "label": "odd opcode loop: 0+1+2" }, { "inputs": { "RCX": 5 }, "expected": 10, "label": "odd opcode loop: 0+1+2+3+4" }, { "inputs": { "RCX": 7 }, "expected": 21, "label": "odd opcode loop: 0..6" }, { "inputs": { "RCX": 8 }, "expected": 40, "label": "even opcode ignores masked loop handler" } ] }, { "name": "bytecode_vm_loop", "symbol": "bytecode_vm_loop_target", "patterns": [ { "line_all": ["and i32", ", 1"] }, { "line_all": ["and i32", ", 7"] }, "phi i32", "add i32", "sub i32", "ret i64 %common.ret.op" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 40, "label": "even program returns constant handler" }, { "inputs": { "RCX": 1 }, "expected": 0, "label": "odd bytecode loop limit 1 returns 0" }, { "inputs": { "RCX": 3 }, "expected": 3, "label": "odd bytecode loop: 0+1+2" }, { "inputs": { "RCX": 5 }, "expected": 10, "label": "odd bytecode loop: 0+1+2+3+4" }, { "inputs": { "RCX": 7 }, "expected": 21, "label": "odd bytecode loop: 0..6" }, { "inputs": { "RCX": 8 }, "expected": 40, "label": "even program ignores odd loop body" } ] }, { "name": "stack_vm_loop", "symbol": "stack_vm_loop_target", "patterns": [ { "line_all": ["and i32", ", 1"] }, { "line_all": ["and i32", ", 7"] }, "phi i32", "add nsw i32", "mul i33", "lshr exact i33", "ret i64 %common.ret.op" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 40, "label": "even program returns constant handler" }, { "inputs": { "RCX": 1 }, "expected": 0, "label": "odd stack loop limit 1 returns 0" }, { "inputs": { "RCX": 3 }, "expected": 3, "label": "odd stack loop: 0+1+2" }, { "inputs": { "RCX": 5 }, "expected": 10, "label": "odd stack loop: 0+1+2+3+4" }, { "inputs": { "RCX": 7 }, "expected": 21, "label": "odd stack loop: 0..6" }, { "inputs": { "RCX": 8 }, "expected": 40, "label": "even program ignores odd loop body" } ] }, { "name": "bitchain", "symbol": "bitchain_target", "patterns": ["ret i64 4090"], "semantic": [ { "expected": 4090, "label": "constant: 0x0FFA" } ] }, { "name": "multi_arg", "symbol": "multi_arg_target", "patterns": ["trunc i64 %RCX to i32", "trunc i64 %RDX to i32", "add i32", "mul i32", "zext i32"], "semantic": [ { "inputs": { "RCX": 5, "RDX": 3 }, "expected": 56, "label": "(5+3)*7" }, { "inputs": { "RCX": 0, "RDX": 0 }, "expected": 0, "label": "(0+0)*7" }, { "inputs": { "RCX": 10, "RDX": 4 }, "expected": 98, "label": "(10+4)*7" }, { "inputs": { "RCX": 1, "RDX": 1 }, "expected": 14, "label": "(1+1)*7" }, { "inputs": { "RCX": 100, "RDX": 0 }, "expected": 700, "label": "(100+0)*7" } ] }, { "name": "diamond", "symbol": "diamond_target", "patterns": [ { "line_all": ["and i32", ", 1"] }, "icmp eq i32", "select i1", { "line_all": ["mul i32", ", 3"] } ], "semantic": [ { "inputs": { "RCX": 7 }, "expected": 51, "label": "odd: (7+10)*3" }, { "inputs": { "RCX": 1 }, "expected": 33, "label": "odd: (1+10)*3" }, { "inputs": { "RCX": 3 }, "expected": 39, "label": "odd: (3+10)*3" }, { "inputs": { "RCX": 11 }, "expected": 63, "label": "odd: (11+10)*3" }, { "inputs": { "RCX": 6 }, "expected": 3, "label": "even: (6-5)*3" }, { "inputs": { "RCX": 8 }, "expected": 9, "label": "even: (8-5)*3" }, { "inputs": { "RCX": 10 }, "expected": 15, "label": "even: (10-5)*3" }, { "inputs": { "RCX": 100 }, "expected": 285, "label": "even: (100-5)*3" } ] }, { "name": "cmov_chain", "symbol": "cmov_chain_target", "patterns": [ { "line_all": ["icmp sgt i32", ", 10"] }, "select i1", "i64 250, i64 150" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 150, "label": "<=10: 100+50" }, { "inputs": { "RCX": 10 }, "expected": 150, "label": "==10: not >10" }, { "inputs": { "RCX": 11 }, "expected": 250, "label": ">10: 200+50" }, { "inputs": { "RCX": 15 }, "expected": 250, "label": ">10 interior" }, { "inputs": { "RCX": 100 }, "expected": 250, "label": ">10 far" } ] }, { "name": "calc_grade", "symbol": "calc_grade", "patterns": ["icmp slt i32 %0, 90", "icmp slt i32 %0, 80", "icmp slt i32 %0, 70", "icmp sgt i32 %0, 59", "phi i64", "ret i64 %common.ret.op"], "semantic": [ { "inputs": { "RCX": 95 }, "expected": 4, "label": ">=90" }, { "inputs": { "RCX": 90 }, "expected": 4, "label": "==90 boundary" }, { "inputs": { "RCX": 89 }, "expected": 3, "label": "80..89" }, { "inputs": { "RCX": 80 }, "expected": 3, "label": "==80 boundary" }, { "inputs": { "RCX": 79 }, "expected": 2, "label": "70..79" }, { "inputs": { "RCX": 70 }, "expected": 2, "label": "==70 boundary" }, { "inputs": { "RCX": 69 }, "expected": 1, "label": "60..69" }, { "inputs": { "RCX": 60 }, "expected": 1, "label": "==60 boundary" }, { "inputs": { "RCX": 59 }, "expected": 0, "label": "<60" }, { "inputs": { "RCX": 0 }, "expected": 0, "label": "<60 zero" }, { "inputs": { "RCX": 100 }, "expected": 4, "label": ">=90 well above" } ] }, { "name": "calc_mixed", "symbol": "calc_mixed", "patterns": ["icmp slt i32 %0, 101", "select i1", "mul i32", "ret i64"], "semantic": [ { "inputs": { "RCX": 150 }, "expected": 576, "label": "x>100: (42+150)*3=576" }, { "inputs": { "RCX": 101 }, "expected": 429, "label": "x>100: (42+101)*3=429" }, { "inputs": { "RCX": 0 }, "expected": 126, "label": "x<=100: (42-0)*3=126" }, { "inputs": { "RCX": 1 }, "expected": 123, "label": "x<=100: (42-1)*3=123" }, { "inputs": { "RCX": 42 }, "expected": 0, "label": "x<=100: (42-42)*3=0" }, { "inputs": { "RCX": 50 }, "expected": 4294967272, "label": "x<=100: uint32 wrap, zext" }, { "inputs": { "RCX": 100 }, "expected": 4294967122, "label": "x<=100: uint32 wrap, zext" } ] }, { "name": "calc_fib", "symbol": "calc_fib", "patterns": ["ret i64 13"], "semantic": [ { "expected": 13, "label": "constant: fib(7)" } ] }, { "name": "calc_sum_array", "symbol": "calc_sum_array", "patterns": ["ret i64 150"], "semantic": [ { "expected": 150, "label": "constant: 10+20+30+40+50" } ] }, { "name": "calc_sum_to_n", "symbol": "calc_sum_to_n", "patterns": ["phi i32", "icmp slt i32", "add i32", "br i1"], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 0, "label": "n=0" }, { "inputs": { "RCX": 1 }, "expected": 0, "label": "n=1" }, { "inputs": { "RCX": 5 }, "expected": 10, "label": "0+1+2+3+4" }, { "inputs": { "RCX": 10 }, "expected": 45, "label": "0..9" }, { "inputs": { "RCX": 32 }, "expected": 496, "label": "0..31" }, { "inputs": { "RCX": 100 }, "expected": 496, "label": "clamped to 32" } ] }, { "name": "switch_3way", "symbol": "switch_3way_target", "patterns": ["switch i32 %", "i32 1, label", "i32 2, label", "i32 3, label", "phi i64", "[ 100,", "[ 200,", "[ 300,", "[ 999,"], "semantic": [ { "inputs": { "RCX": 1 }, "expected": 100, "label": "case 1" }, { "inputs": { "RCX": 2 }, "expected": 200, "label": "case 2" }, { "inputs": { "RCX": 3 }, "expected": 300, "label": "case 3" }, { "inputs": { "RCX": 0 }, "expected": 999, "label": "default (0)" }, { "inputs": { "RCX": 4 }, "expected": 999, "label": "default (4)" }, { "inputs": { "RCX": 100 }, "expected": 999, "label": "default (100)" } ] }, { "name": "calc_switch", "symbol": "calc_switch", "patterns": ["switch i32", "phi i64"], "semantic": [ { "inputs": { "RCX": 1 }, "expected": 6, "label": "Monday" }, { "inputs": { "RCX": 2 }, "expected": 7, "label": "Tuesday" }, { "inputs": { "RCX": 3 }, "expected": 9, "label": "Wednesday" }, { "inputs": { "RCX": 4 }, "expected": 8, "label": "Thursday" }, { "inputs": { "RCX": 5 }, "expected": 6, "label": "Friday" }, { "inputs": { "RCX": 0 }, "expected": 0, "label": "default (0)" }, { "inputs": { "RCX": 6 }, "expected": 0, "label": "default (6)" }, { "inputs": { "RCX": 100 }, "expected": 0, "label": "default (100)" } ] }, { "name": "switch_sparse", "symbol": "switch_sparse_target", "patterns": ["switch i32 %", "i32 10, label", "i32 50, label", "i32 200, label", "i32 1000, label", "phi i64", "[ 11,", "[ 55,", "[ 222,", "[ 1337,", "[ 4294967295,"], "semantic": [ { "inputs": { "RCX": 10 }, "expected": 11, "label": "case 10" }, { "inputs": { "RCX": 50 }, "expected": 55, "label": "case 50" }, { "inputs": { "RCX": 200 }, "expected": 222, "label": "case 200" }, { "inputs": { "RCX": 1000 }, "expected": 1337, "label": "case 1000" }, { "inputs": { "RCX": 0 }, "expected": 4294967295, "label": "default: 0xFFFFFFFF" }, { "inputs": { "RCX": 100 }, "expected": 4294967295, "label": "default" }, { "inputs": { "RCX": 500 }, "expected": 4294967295, "label": "default" } ] }, { "name": "calc_cout", "symbol": "?calc_cout@@YAHH@Z", "patterns": ["mul i32", "add i32", "ret i64"], "semantic": [ { "inputs": { "RCX": 10 }, "expected": 37, "label": "10*3+7" }, { "inputs": { "RCX": 0 }, "expected": 7, "label": "0*3+7" }, { "inputs": { "RCX": 100 }, "expected": 307, "label": "100*3+7" }, { "inputs": { "RCX": 1 }, "expected": 10, "label": "1*3+7" } ] }, { "name": "jumptable_basic", "symbol": "jumptable_basic_target", "patterns": [ "switch i64 %RCX", "i64 0, label", "i64 1, label", "i64 2, label", "i64 3, label", "phi i64", "[ 10,", "[ 20,", "[ 30,", "[ 40,", "[ 999," ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 10, "label": "case 0" }, { "inputs": { "RCX": 1 }, "expected": 20, "label": "case 1" }, { "inputs": { "RCX": 2 }, "expected": 30, "label": "case 2" }, { "inputs": { "RCX": 3 }, "expected": 40, "label": "case 3" }, { "inputs": { "RCX": 4 }, "expected": 999, "label": "default (>3)" }, { "inputs": { "RCX": 100 }, "expected": 999, "label": "default far" } ] }, { "name": "jumptable_dense", "symbol": "jumptable_dense_target", "patterns": [ "switch i64 %RCX", "i64 0, label", "i64 1, label", "i64 7, label", "phi i64", "[ 100,", "[ 200,", "[ 300,", "[ 400,", "[ 500,", "[ 600,", "[ 700,", "[ 800,", "[ 0," ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 100, "label": "case 0" }, { "inputs": { "RCX": 1 }, "expected": 200, "label": "case 1" }, { "inputs": { "RCX": 2 }, "expected": 300, "label": "case 2" }, { "inputs": { "RCX": 3 }, "expected": 400, "label": "case 3" }, { "inputs": { "RCX": 4 }, "expected": 500, "label": "case 4" }, { "inputs": { "RCX": 5 }, "expected": 600, "label": "case 5" }, { "inputs": { "RCX": 6 }, "expected": 700, "label": "case 6" }, { "inputs": { "RCX": 7 }, "expected": 800, "label": "case 7" }, { "inputs": { "RCX": 8 }, "expected": 0, "label": "default (>7)" }, { "inputs": { "RCX": 100 }, "expected": 0, "label": "default far" } ] }, { "name": "calc_jumptable", "symbol": "calc_jumptable", "patterns": [ { "line_all": ["icmp ult i32", ", 10"] }, "trunc i64 %RCX to i32", "switch i32 %0", "i32 0, label", "i32 9, label", "phi i64" ], "semantic": [ { "inputs": { "RCX": -1 }, "expected": 4294967295, "label": "default (negative)" }, { "inputs": { "RCX": 0 }, "expected": 1, "label": "2^0" }, { "inputs": { "RCX": 1 }, "expected": 2, "label": "2^1" }, { "inputs": { "RCX": 2 }, "expected": 4, "label": "2^2" }, { "inputs": { "RCX": 3 }, "expected": 8, "label": "2^3" }, { "inputs": { "RCX": 4 }, "expected": 16, "label": "2^4" }, { "inputs": { "RCX": 5 }, "expected": 32, "label": "2^5" }, { "inputs": { "RCX": 6 }, "expected": 64, "label": "2^6" }, { "inputs": { "RCX": 7 }, "expected": 128, "label": "2^7" }, { "inputs": { "RCX": 8 }, "expected": 256, "label": "2^8" }, { "inputs": { "RCX": 9 }, "expected": 512, "label": "2^9" }, { "inputs": { "RCX": 10 }, "expected": 4294967295, "label": "default (above range)" } ] }, { "name": "jumptable_rel32", "symbol": "jumptable_rel32_target", "patterns": [ { "line_all": ["icmp ult i32", ", 5"] }, "switch i64 %RCX", "phi i64", "[ 10,", "[ 20,", "[ 30,", "[ 40,", "[ 50,", "[ 999," ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 10, "label": "case 0" }, { "inputs": { "RCX": 1 }, "expected": 20, "label": "case 1" }, { "inputs": { "RCX": 2 }, "expected": 30, "label": "case 2" }, { "inputs": { "RCX": 3 }, "expected": 40, "label": "case 3" }, { "inputs": { "RCX": 4 }, "expected": 50, "label": "case 4" }, { "inputs": { "RCX": 5 }, "expected": 999, "label": "default (>4)" }, { "inputs": { "RCX": 100 }, "expected": 999, "label": "default far" } ] }, { "name": "jumptable_shifted", "symbol": "jumptable_shifted_target", "patterns": [ "add i32", "switch i32", "phi i64", "[ 100,", "[ 200,", "[ 300,", "[ 400,", "[ 500,", "[ 0," ], "semantic": [ { "inputs": { "RCX": 10 }, "expected": 100, "label": "case 10" }, { "inputs": { "RCX": 11 }, "expected": 200, "label": "case 11" }, { "inputs": { "RCX": 12 }, "expected": 300, "label": "case 12" }, { "inputs": { "RCX": 13 }, "expected": 400, "label": "case 13" }, { "inputs": { "RCX": 14 }, "expected": 500, "label": "case 14" }, { "inputs": { "RCX": 9 }, "expected": 0, "label": "default (below range)" }, { "inputs": { "RCX": 15 }, "expected": 0, "label": "default (above range)" }, { "inputs": { "RCX": 0 }, "expected": 0, "label": "default (zero)" }, { "inputs": { "RCX": 100 }, "expected": 0, "label": "default far" } ] }, { "name": "jumptable_shared_targets", "symbol": "jumptable_shared_target", "patterns": [ { "line_all": ["icmp ult i32", ", 6"] }, "switch i32", "phi i64", "[ 10,", "[ 20,", "[ 30,", "[ 40,", "[ 999," ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 10, "label": "case 0 (group a)" }, { "inputs": { "RCX": 1 }, "expected": 10, "label": "case 1 (group a shared)" }, { "inputs": { "RCX": 2 }, "expected": 20, "label": "case 2 (solo b)" }, { "inputs": { "RCX": 3 }, "expected": 30, "label": "case 3 (group c)" }, { "inputs": { "RCX": 4 }, "expected": 30, "label": "case 4 (group c shared)" }, { "inputs": { "RCX": 5 }, "expected": 40, "label": "case 5 (solo d)" }, { "inputs": { "RCX": 6 }, "expected": 999, "label": "default (>5)" }, { "inputs": { "RCX": 100 }, "expected": 999, "label": "default far" } ] }, { "name": "jumptable_computation", "symbol": "jumptable_computation_target", "patterns": [ { "line_all": ["icmp ult i32", ", 4"] }, "switch i32", "phi i64", "shl", "mul", "add" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 1, "label": "case 0: 0*2+1" }, { "inputs": { "RCX": 1 }, "expected": 8, "label": "case 1: 1*3+5" }, { "inputs": { "RCX": 2 }, "expected": 18, "label": "case 2: 2*4+10" }, { "inputs": { "RCX": 3 }, "expected": 103, "label": "case 3: 3+100" }, { "inputs": { "RCX": 4 }, "expected": 0, "label": "default (>3)" }, { "inputs": { "RCX": 100 }, "expected": 0, "label": "default far" }, { "inputs": { "RCX": 5 }, "expected": 0, "label": "default (5 > 3)" } ] }, { "name": "calc_jumptable_large", "symbol": "calc_jumptable_large", "patterns": [ "and i64 %RCX, 15", "switch i64 %sw_input", "i64 0, label", "i64 1, label", "i64 15, label", "phi i64", "[ 7,", "[ 42,", "[ 21,", "unreachable", "ret i64" ], "semantic": [ { "inputs": { "RCX": 0 }, "expected": 7, "label": "case 0" }, { "inputs": { "RCX": 1 }, "expected": 42, "label": "case 1" }, { "inputs": { "RCX": 5 }, "expected": 31, "label": "case 5" }, { "inputs": { "RCX": 7 }, "expected": 3, "label": "case 7" }, { "inputs": { "RCX": 10 }, "expected": 404, "label": "case 10" }, { "inputs": { "RCX": 14 }, "expected": 65535, "label": "case 14" }, { "inputs": { "RCX": 15 }, "expected": 21, "label": "case 15" }, { "inputs": { "RCX": -1 }, "expected": 4294967295, "label": "default (negative)" }, { "inputs": { "RCX": 16 }, "expected": 4294967295, "label": "default (above range)" }, { "inputs": { "RCX": 100 }, "expected": 4294967295, "label": "default far" } ] } ] }