Commit Graph

  • 71fc60766d Loop generalization, BSR/BSF intrinsics, and stack alloca split (#207) main naci 2026-05-08 14:00:42 +03:00
  • 841d6bbcdb docs: add Control-Flow Recognition section and clarify punpcklqdq state (#206) naci 2026-05-02 20:54:15 +03:00
  • 605a36e8ed lifter: correctness fixes, refactors, and regression tests (#205) naci 2026-05-02 11:58:47 +03:00
  • 03309ff1d9 pr: drop autoresearch notes from themida docs PR autoresearch/lets-try-to-fix-it-20260429 yusufcanislek 2026-04-29 23:20:16 +03:00
  • d41cfad6b0 autoresearch: record themida segment exhaustion yusufcanislek 2026-04-29 23:00:34 +03:00
  • 721fdb79ce Restored the simpler autoresearch.sh after the single-path PowerShell rewrite failed to improve capture; benchmark result stays green with less harness complexity. yusufcanislek 2026-04-29 22:56:11 +03:00
  • 6d987cc56d Updated stale Themida-facing docs and manifest commentary to match the current passing example2-virt.bin behavior. yusufcanislek 2026-04-29 22:47:55 +03:00
  • e2648b3d21 Baseline for doc-sync segment: python test.py themida passes for the single tracked sample via the autoresearch.sh wrapper. yusufcanislek 2026-04-29 22:46:44 +03:00
  • 358f3e1e65 autoresearch.md: bump current best to 425 samples (run #80) autoresearch/lets-craete-more-test-cases-complex-loops-with-v-20260425 yusufcanislek 2026-04-26 15:40:01 +03:00
  • 9f539d46f8 add vm_fnv1_dword64_loop (mul-then-xor FNV-1 at u32 stride); vm_sample_count 424 -> 425 yusufcanislek 2026-04-26 15:39:43 +03:00
  • 85b0f3dd2c autoresearch.md: bump current best to 424 samples (run #79) yusufcanislek 2026-04-26 15:38:17 +03:00
  • b68e779022 add vm_fnv1_word64_loop (mul-then-xor FNV-1 at u16 stride); vm_sample_count 423 -> 424 yusufcanislek 2026-04-26 15:38:05 +03:00
  • 404c1d29c9 autoresearch.md: bump current best to 423 samples (run #78) yusufcanislek 2026-04-26 15:36:14 +03:00
  • b44781135e add vm_xxhmix_mulxor64_loop (mul-then-xor pair to xxhmix's xor-then-mul); vm_sample_count 422 -> 423 yusufcanislek 2026-04-26 15:36:01 +03:00
  • e24924cd2d autoresearch.md: bump current best to 422 samples (run #77) yusufcanislek 2026-04-26 15:33:48 +03:00
  • 52c628b86c add vm_djb2a_dword64_loop (xor-combine djb2a at u32 stride); vm_sample_count 421 -> 422 yusufcanislek 2026-04-26 15:33:36 +03:00
  • 5fca4632cf autoresearch.md: bump current best to 421 samples (run #76) yusufcanislek 2026-04-26 15:32:13 +03:00
  • b2c9a0d0cb add vm_djb2a_word64_loop (xor combine pair to add-combine djb2_word); vm_sample_count 420 -> 421 yusufcanislek 2026-04-26 15:31:52 +03:00
  • 400b0df198 autoresearch.md: bump current best to 420 samples (run #75) yusufcanislek 2026-04-26 15:29:53 +03:00
  • 59c20194b7 add vm_horner_sub64_loop (sub-coefficient pair to add-coefficient horner); vm_sample_count 419 -> 420 yusufcanislek 2026-04-26 15:29:36 +03:00
  • a66da0dab8 autoresearch.md: bump current best to 419 samples (run #74) yusufcanislek 2026-04-26 15:28:01 +03:00
  • 5866529aa3 add vm_pcg_sub64_loop (sub-increment LCG pair to pcg64); vm_sample_count 418 -> 419 yusufcanislek 2026-04-26 15:27:43 +03:00
  • ff4bd52ae9 autoresearch.md: bump current best to 418 samples (run #73) yusufcanislek 2026-04-26 15:25:52 +03:00
  • 7d32b33db1 add vm_fnv164_loop (mul-then-xor pair to fnv1a's xor-then-mul); vm_sample_count 417 -> 418 yusufcanislek 2026-04-26 15:25:36 +03:00
  • 97e11e6a2e autoresearch.md: bump current best to 417 samples (run #72) yusufcanislek 2026-04-26 15:23:52 +03:00
  • 7fdfd46bb4 add vm_djb2a64_loop (xor combine pair to add-combine djb2 hash); vm_sample_count 416 -> 417 yusufcanislek 2026-04-26 15:23:35 +03:00
  • fe8dba6919 autoresearch.md: bump current best to 416 samples (run #71) yusufcanislek 2026-04-26 15:21:48 +03:00
  • 9dae4c7bb4 add vm_murmurstep_lshl64_loop (left-shift fold pair to lshr-fold murmurstep); vm_sample_count 415 -> 416 yusufcanislek 2026-04-26 15:21:32 +03:00
  • a54e37189a autoresearch.md: bump current best to 415 samples (run #70) yusufcanislek 2026-04-26 15:20:12 +03:00
  • 9c30abb01a add vm_xorshift_rev64_loop (reversed-direction xorshift PRNG pair); vm_sample_count 414 -> 415 yusufcanislek 2026-04-26 15:19:56 +03:00
  • e0fe057b96 autoresearch.md: bump current best to 414 samples (run #69) yusufcanislek 2026-04-26 15:18:14 +03:00
  • 3b00204cb0 add vm_squaresub64_loop (sub-counter quadratic pair to squareadd); vm_sample_count 413 -> 414 yusufcanislek 2026-04-26 15:18:01 +03:00
  • 9f6669342a autoresearch.md: bump current best to 413 samples (run #68) yusufcanislek 2026-04-26 15:16:37 +03:00
  • 71f71e7a72 add vm_xorrot_substep64_loop (sub-increment LCG step pair to xorrot); vm_sample_count 412 -> 413 yusufcanislek 2026-04-26 15:15:24 +03:00
  • 72854d6052 autoresearch.md: bump current best to 412 samples (run #67) yusufcanislek 2026-04-26 15:10:43 +03:00
  • 4b764fd092 add vm_lcg_ansi_chain_sub64_loop (sub-increment LCG pair); vm_sample_count 411 -> 412 yusufcanislek 2026-04-26 15:10:18 +03:00
  • 556baab93f autoresearch.md: bump current best to 411 samples (run #66) yusufcanislek 2026-04-26 15:08:24 +03:00
  • 1b95609246 add vm_zigzag_substep64_loop (sub-step pair to add-step zigzag); vm_sample_count 410 -> 411 yusufcanislek 2026-04-26 15:07:28 +03:00
  • 5097716f67 autoresearch.md: bump current best to 410 samples (run #65) yusufcanislek 2026-04-26 15:05:30 +03:00
  • ad688d0755 add vm_lfsr64_galois_loop (left-shifting LFSR pair to right-shifting Fibonacci); vm_sample_count 409 -> 410 yusufcanislek 2026-04-26 15:05:00 +03:00
  • ace38313ab autoresearch.md: bump current best to 409 samples (run #64) yusufcanislek 2026-04-26 15:03:12 +03:00
  • 6be230ab81 add vm_threestate_xormul_sub64_loop (sub variant of three-state cross-feed); vm_sample_count 408 -> 409 yusufcanislek 2026-04-26 15:02:53 +03:00
  • 83117f0956 autoresearch.md: bump current best to 408 samples (run #63) yusufcanislek 2026-04-26 15:00:58 +03:00
  • e363ea2db1 add vm_pairmix_sub64_loop (sub variant of pairmix); vm_sample_count 407 -> 408 yusufcanislek 2026-04-26 15:00:38 +03:00
  • 799343509b autoresearch.md: bump current best to 407 samples (run #62) yusufcanislek 2026-04-26 14:57:33 +03:00
  • 22e583e816 add vm_andxor_pair64_loop (AND/XOR-mul cross-feed pair to OR/XOR-mul); vm_sample_count 406 -> 407 yusufcanislek 2026-04-26 14:57:02 +03:00
  • f2b40d5f92 autoresearch.md: bump current best to 406 samples (run #61) yusufcanislek 2026-04-26 14:54:51 +03:00
  • 4ee3dacd4b add vm_notor_chain64_loop (NOT-OR pair to NOT-AND); vm_sample_count 405 -> 406 yusufcanislek 2026-04-26 14:54:32 +03:00
  • 1d83fc6f38 autoresearch.md: 60-run / 120-sample mark (run #60, 405 vm samples) yusufcanislek 2026-04-26 14:52:43 +03:00
  • c3dd82215f add vm_addxor_chain64_loop (add pair to subxor); vm_sample_count 404 -> 405 yusufcanislek 2026-04-26 14:52:11 +03:00
  • c6286ec5f7 autoresearch.md: bump current best to 404 samples (run #59) yusufcanislek 2026-04-26 14:50:23 +03:00
  • 718c0e421e add vm_xormulsub_chain64_loop (sub variant of xormuladd); vm_sample_count 403 -> 404 yusufcanislek 2026-04-26 14:50:02 +03:00
  • 698e06578b autoresearch.md: bump current best to 403 samples (run #58) yusufcanislek 2026-04-26 14:48:05 +03:00
  • 8a4e7bd4aa add vm_borrowchain_loop (8-bit ripple-borrow subtractor); vm_sample_count 402 -> 403 yusufcanislek 2026-04-26 14:47:45 +03:00
  • c4dfd494e6 autoresearch.md: bump current best to 402 samples (run #57) yusufcanislek 2026-04-26 14:45:57 +03:00
  • d76f1914c9 add vm_satsub64_loop (saturating subtract with underflow clamp); vm_sample_count 401 -> 402 yusufcanislek 2026-04-26 14:45:40 +03:00
  • a1502b355a autoresearch.md: 400-sample mark (run #56, 401 vm samples) yusufcanislek 2026-04-26 14:42:18 +03:00
  • c18a6f9694 add dynshl_pack with nibble and byte chunk widths; vm_sample_count 399 -> 401 yusufcanislek 2026-04-26 14:41:27 +03:00
  • 00093ca45a autoresearch.md: bump current best to 399 samples (run #55) yusufcanislek 2026-04-26 14:38:59 +03:00
  • e321441d1d add dyn_ashr (ashr by counter, lane-window XOR fold) at u16/u32 mask widths; vm_sample_count 397 -> 399 yusufcanislek 2026-04-26 14:38:22 +03:00
  • 3685c0c414 autoresearch.md: bump current best to 397 samples (run #54) yusufcanislek 2026-04-26 14:34:55 +03:00
  • 9b77311087 add Horner polynomial family with parametric multiplier at word and dword stride; vm_sample_count 395 -> 397 yusufcanislek 2026-04-26 14:34:38 +03:00
  • b31a58551e autoresearch.md: bump current best to 395 samples (run #53) yusufcanislek 2026-04-26 14:32:17 +03:00
  • ba33faed1f add explicit-shift word-swap and dword-swap variable-trip family; vm_sample_count 393 -> 395 yusufcanislek 2026-04-26 14:31:56 +03:00
  • dd4fbfd7e1 autoresearch.md: bump current best to 393 samples (run #52) yusufcanislek 2026-04-26 14:27:52 +03:00
  • d746acaef0 add prefix-XOR scan family at word and dword stride; vm_sample_count 391 -> 393 yusufcanislek 2026-04-26 14:27:08 +03:00
  • 92b3e678d7 autoresearch.md: bump current best to 391 samples (run #51, lever saturation note) yusufcanislek 2026-04-26 14:24:56 +03:00
  • 14f327aabc add vm_wordmatch64_loop with input-derived top-word target; vm_sample_count 390 -> 391 yusufcanislek 2026-04-26 14:23:30 +03:00
  • be04b98441 autoresearch.md: 50-run / 105-sample segment mark (run #50, 390 vm samples) yusufcanislek 2026-04-26 14:20:04 +03:00
  • 49f0629ac4 add vm_pair_xormul_word64_loop (2 u16 words per iter); vm_sample_count 389 -> 390 yusufcanislek 2026-04-26 14:19:35 +03:00
  • c03ee9d903 autoresearch.md: bump current best to 389 samples (run #49) yusufcanislek 2026-04-26 14:16:28 +03:00
  • 1a67e6a43b add LCG mixed-recurrence family at u16 and u32 mask widths; vm_sample_count 387 -> 389 yusufcanislek 2026-04-26 14:16:09 +03:00
  • 97f75ebe4e autoresearch.md: bump current best to 387 samples (run #48) yusufcanislek 2026-04-26 14:12:11 +03:00
  • 53773e8715 add xor_accumulator family at word and dword key widths; vm_sample_count 385 -> 387 yusufcanislek 2026-04-26 14:11:39 +03:00
  • 48011b7940 autoresearch.md: 100-sample segment milestone (run #47, 385 vm samples) yusufcanislek 2026-04-26 14:07:32 +03:00
  • 1c5ff06b56 add narrow-type recurrence loops at u16 and u32; vm_sample_count 383 -> 385 yusufcanislek 2026-04-26 14:06:59 +03:00
  • e9f1b55e1e autoresearch.md: bump current best to 383 samples (run #46) yusufcanislek 2026-04-26 14:03:21 +03:00
  • d9a35c59fc add var_horner counter-multiplier family at word and dword stride; vm_sample_count 381 -> 383 yusufcanislek 2026-04-26 14:03:02 +03:00
  • 37b10116ea add xor_shifted_self family at word and dword stride; vm_sample_count 379 -> 381 yusufcanislek 2026-04-26 14:01:09 +03:00
  • 8278c19aaf autoresearch.md: bump current best to 379 samples (run #44) yusufcanislek 2026-04-26 13:59:15 +03:00
  • 69cc2e7e76 complete data-dependent shl family at word and dword stride; vm_sample_count 377 -> 379 yusufcanislek 2026-04-26 13:58:51 +03:00
  • 286c965dde complete data-dependent lshr/ashr family at word and dword stride; vm_sample_count 373 -> 377 yusufcanislek 2026-04-26 13:57:16 +03:00
  • 3635cd2b83 autoresearch.md: bump current best to 373 samples (run #42) yusufcanislek 2026-04-26 13:54:37 +03:00
  • 1302710c12 add rev_window pack family at word and dword stride; vm_sample_count 371 -> 373 yusufcanislek 2026-04-26 13:53:57 +03:00
  • 6a8db7e5e2 add shiftin-top shift-register family at word and dword stride; vm_sample_count 369 -> 371 yusufcanislek 2026-04-26 13:51:32 +03:00
  • 663aca520c add mul-by-3 Horner family at word and dword stride; vm_sample_count 367 -> 369 yusufcanislek 2026-04-26 13:49:51 +03:00
  • 75ff4b8791 autoresearch.md: bump current best to 367 samples (run #39) yusufcanislek 2026-04-26 13:46:09 +03:00
  • 5ad5c721a4 complete xxhmix hash family at word and dword stride; vm_sample_count 365 -> 367 yusufcanislek 2026-04-26 13:45:04 +03:00
  • dbd9b7112c add fixed-trip xor-fold family at word and dword stride; vm_sample_count 363 -> 365 yusufcanislek 2026-04-26 13:43:22 +03:00
  • fc80d1fe40 complete fnv1a and djb2 hash families at word and dword stride; vm_sample_count 359 -> 363 yusufcanislek 2026-04-26 13:41:21 +03:00
  • 0269a11dfe complete murmur lane chain family at word and dword stride; vm_sample_count 357 -> 359 yusufcanislek 2026-04-26 13:38:20 +03:00
  • 6e528a781c autoresearch.md: bump current best to 357 samples (run #35) yusufcanislek 2026-04-26 13:36:08 +03:00
  • 06fc5d3ee0 add vm_signed_byte_range64_loop completing the signed-range family at all 3 widths; vm_sample_count 356 -> 357 yusufcanislek 2026-04-26 13:32:12 +03:00
  • 338b553fb7 autoresearch.md: bump current best to 356 samples (run #34) yusufcanislek 2026-04-26 13:28:28 +03:00
  • b412e8c77c complete lane*c*c (counter-squared scale) ADD-fold family at word and dword stride; vm_sample_count 354 -> 356 yusufcanislek 2026-04-26 13:28:07 +03:00
  • e5b7847530 complete self-referential xormul family at word and dword stride; vm_sample_count 352 -> 354 yusufcanislek 2026-04-26 13:25:51 +03:00
  • 68b20b9aa7 complete signed lane*counter ADD/XOR families at word and dword stride; vm_sample_count 348 -> 352 yusufcanislek 2026-04-26 13:24:00 +03:00
  • cabbd4a5d9 complete sub-lane*counter family at word and dword stride; vm_sample_count 346 -> 348 yusufcanislek 2026-04-26 13:21:18 +03:00
  • 01950a5aa7 complete andsum/orsum lane*counter families at word and dword stride; vm_sample_count 342 -> 346 yusufcanislek 2026-04-26 13:19:35 +03:00
  • b214724622 complete uintadd lane*counter family at word and dword stride; vm_sample_count 340 -> 342 yusufcanislek 2026-04-26 13:16:57 +03:00