From ddbb200a5e2b1101d17b55569c0783ee325bccde Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 2 Oct 2026 19:38:37 -0600 Subject: [PATCH] =?UTF-8?q?T8.c2:=20batch=20t8=5Fhdr1:=20delever:=20batch?= =?UTF-8?q?=20t8=5Fhdr1=20=E2=80=94=2015=20files=20(headers;=2015=20d=20|?= =?UTF-8?q?=20R22=20218/218?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/baseline/r22_t8_hdr1.log | 475 +++++++++++++++++++++++ .run/P36/delever/apply_t8_hdr1.log | 13 + .run/P36/delever/batch_t8_hdr1.json | 181 +++++++++ .run/P36/delever/calibrate_t8_hdr1.log | 5 + .run/P36/delever/calibration.json | 314 +++++++-------- .run/P36/delever/ledger.jsonl | 15 + .run/P36/delever/run_t8_hdr1.log | 16 + src/shared/ov/func_8012EC04.h | 30 +- src/shared/ov/func_8012EF34.h | 4 +- src/shared/ov/func_8012EF70.h | 4 +- src/shared/ov/func_80131CF4.h | 2 +- src/shared/ov/func_80132784.h | 52 +-- src/shared/ov/func_8013B274__28562738.h | 10 +- src/shared/ov/func_8013B274__9e44db0b.h | 10 +- src/shared/ov/func_8013CF68__94315c4c.h | 2 +- src/shared/ov/func_80146AFC.h | 2 +- src/shared/ov/func_8015126C.h | 2 +- src/shared/ov/func_80166054.h | 10 +- src/shared/ov/func_80176D94.h | 2 +- src/shared/ov/func_801770E0.h | 2 +- src/shared/ov/func_8017C730__tc0f85567.h | 2 +- 21 files changed, 918 insertions(+), 235 deletions(-) create mode 100644 .run/P36/baseline/r22_t8_hdr1.log create mode 100644 .run/P36/delever/apply_t8_hdr1.log create mode 100644 .run/P36/delever/batch_t8_hdr1.json create mode 100644 .run/P36/delever/calibrate_t8_hdr1.log create mode 100644 .run/P36/delever/run_t8_hdr1.log diff --git a/.run/P36/baseline/r22_t8_hdr1.log b/.run/P36/baseline/r22_t8_hdr1.log new file mode 100644 index 0000000000..514fc7502b --- /dev/null +++ b/.run/P36/baseline/r22_t8_hdr1.log @@ -0,0 +1,475 @@ +clean: removed build/, expected/, and the regenerated splat tree (asm/, assets/, undefined_*_auto.txt). +disc-extract: up to date — extracted/retail/ matches the committed manifest (sha1 e5c6019249dec3c71bb2cf40658a78439dddb037) +splat 0.41.0 (powered by spimdisasm 1.41.0) + 0%| | 0/1096 [00:00", "addr": null, "aliases": ["md_MAIN_003"], "header": false, "includers": 0, "o0": false, "nhash_before": "fs:2bd41ce159fc39ed6e77b1b31980af9709ef6d4a", "nhash_after": "fs:ee501d5d8dcec63bda2d4c754e2a84dff4042a3f", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 677, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}, {"ord": 1, "kind": "decl-file", "cls": "C", "detail": "extern", "via": "", "line": 689, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 2, "kind": "decl-file", "cls": "C", "detail": "extern", "via": "", "line": 691, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 3, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 816, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}], "compiles": 3, "seconds": 0.149} {"ts": "2026-10-02 19:32:50", "label": "t8_tus4", "rung": "B", "calib": {"head": "ac3a3b5f8a", "stamp": "588cbf38c6e4"}, "tu": "src/md_MAIN_003/md_MAIN_003_jr_800D1E18.c", "fn": "", "addr": null, "aliases": ["md_MAIN_003"], "header": false, "includers": 0, "o0": false, "nhash_before": "fs:2bd41ce159fc39ed6e77b1b31980af9709ef6d4a", "nhash_after": "fs:ee501d5d8dcec63bda2d4c754e2a84dff4042a3f", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 677, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}, {"ord": 1, "kind": "decl-file", "cls": "C", "detail": "extern", "via": "", "line": 689, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 2, "kind": "decl-file", "cls": "C", "detail": "extern", "via": "", "line": 691, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 3, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 816, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}], "compiles": 3, "seconds": 0.219} +{"ts": "2026-10-02 19:35:59", "label": "t8_hdr1", "rung": "A", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8012EC04.h", "fn": "func_8012EC04", "addr": 2148723716, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "faf72a9c7f677927330da717e8067f683390ac8b", "nhash_after": "11ea3ce9084029ad0477d6873ebb389d438850ac", "exemplar": null, "verdict": "LEVER-FREE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "gte-lever", "cls": "B", "detail": "lw", "via": "", "line": 44, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 1, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 51, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 2, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 59, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 3, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 67, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 4, "kind": "gte-lever", "cls": "B", "detail": "lw", "via": "", "line": 75, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 5, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 82, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}], "compiles": 142, "seconds": 46.933} +{"ts": "2026-10-02 19:36:17", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8012EF34.h", "fn": "func_8012EF34", "addr": 2148724532, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "f947d82875b200e4ba29bc90515703c5410f16ba", "nhash_after": "f947d82875b200e4ba29bc90515703c5410f16ba", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "pin", "cls": "A", "detail": "$3", "via": "", "line": 6, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 1, "kind": "pin", "cls": "A", "detail": "$3", "via": "", "line": 9, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 3, "seconds": 0.688} +{"ts": "2026-10-02 19:36:22", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8012EF70.h", "fn": "func_8012EF70", "addr": 2148724592, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "6bc506a78e408f3306cd9f3ef0a83c8083dd2637", "nhash_after": "6bc506a78e408f3306cd9f3ef0a83c8083dd2637", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "pin", "cls": "A", "detail": "$3", "via": "", "line": 6, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 1, "kind": "pin", "cls": "A", "detail": "$3", "via": "", "line": 9, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 3, "seconds": 0.655} +{"ts": "2026-10-02 19:36:26", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_80131CF4.h", "fn": "func_80131CF4", "addr": 2148736244, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "a12afcaa93ea2ce3ad1c088bfefd87aada95258f", "nhash_after": "a12afcaa93ea2ce3ad1c088bfefd87aada95258f", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "launder", "cls": "B", "detail": "", "via": "", "line": 17, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.277} +{"ts": "2026-10-02 19:36:34", "label": "t8_hdr1", "rung": "A", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_80132784.h", "fn": "func_80132784", "addr": 2148738948, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "a54ec5e04de048c8526e792031fb52d52193357f", "nhash_after": "f77701acfa53fe93d65e53b6f19b41e7f59ae6d3", "exemplar": null, "verdict": "LEVER-FREE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "gte-lever", "cls": "B", "detail": "lw", "via": "", "line": 72, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 1, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 78, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 2, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 84, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 3, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 90, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 4, "kind": "gte-lever", "cls": "B", "detail": "lw", "via": "", "line": 96, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 5, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 101, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 6, "kind": "gte-lever", "cls": "B", "detail": "lw", "via": "", "line": 121, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 7, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 127, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 8, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 133, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 9, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 139, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 10, "kind": "gte-lever", "cls": "B", "detail": "lw", "via": "", "line": 145, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 11, "kind": "gte-lever", "cls": "B", "detail": "lhu", "via": "", "line": 150, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}], "compiles": 142, "seconds": 45.658} +{"ts": "2026-10-02 19:36:38", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_80144B9C.h", "fn": "func_80144B9C", "addr": 2148813724, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": true, "nhash_before": "e16a185b285dadc2d8a6a959039a3113addf25ee", "nhash_after": "e16a185b285dadc2d8a6a959039a3113addf25ee", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "register", "cls": "D", "detail": "", "via": "", "line": 117, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.076} +{"ts": "2026-10-02 19:36:39", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_80146AFC.h", "fn": "func_80146AFC", "addr": 2148821756, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "d352e57d3691abe900ccd5d82e319477cbe4939c", "nhash_after": "d352e57d3691abe900ccd5d82e319477cbe4939c", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "pin", "cls": "A", "detail": "$5", "via": "", "line": 6, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.687} +{"ts": "2026-10-02 19:36:45", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8015126C.h", "fn": "func_8015126C", "addr": 2148864620, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "f555efc47bcdafe9a03da4e916afb9fa649ed580", "nhash_after": "f555efc47bcdafe9a03da4e916afb9fa649ed580", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "pin", "cls": "A", "detail": "$2", "via": "", "line": 40, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.683} +{"ts": "2026-10-02 19:36:52", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_80166054.h", "fn": "func_80166054", "addr": 2148950100, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "06fadf351223f40561c95b77497a5020ca422b7e", "nhash_after": "06fadf351223f40561c95b77497a5020ca422b7e", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "pin", "cls": "A", "detail": "$16", "via": "", "line": 15, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 1, "kind": "pin", "cls": "A", "detail": "$17", "via": "", "line": 16, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 2, "kind": "pin", "cls": "A", "detail": "$2", "via": "", "line": 22, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 3, "kind": "pin", "cls": "A", "detail": "$4", "via": "", "line": 25, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 4, "kind": "barrier", "cls": "B", "detail": "memory", "via": "", "line": 67, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 6, "seconds": 2.236} +{"ts": "2026-10-02 19:36:57", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_80176D94.h", "fn": "func_80176D94", "addr": 2149019028, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "bb8e9be1197d9daa2299e8d383f9526c97f3e7fc", "nhash_after": "bb8e9be1197d9daa2299e8d383f9526c97f3e7fc", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "pin", "cls": "A", "detail": "$6", "via": "", "line": 32, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.4} +{"ts": "2026-10-02 19:37:00", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_801770E0.h", "fn": "func_801770E0", "addr": 2149019872, "aliases": ["ov_MAIN_012", "ov_SC01_000", "ov_SC01_001", "ov_SC01_004", "ov_SC01_005", "ov_SC01_006", "ov_SC01_008", "ov_SC01_009", "ov_SC01_074", "ov_SC01_077", "ov_SC01_080", "ov_SC01_084", "ov_SC02_000", "ov_SC02_003", "ov_SC02_004", "ov_SC02_005", "ov_SC02_011", "ov_SC02_015", "ov_SC02_016", "ov_SC02_017", "ov_SC02_021", "ov_SC02_026", "ov_SC02_027", "ov_SC02_028", "ov_SC02_031", "ov_SC02_035", "ov_SC02_037", "ov_SC02_039", "ov_SC02_041", "ov_SC03_001", "ov_SC03_002", "ov_SC03_003", "ov_SC03_006", "ov_SC03_007", "ov_SC03_010", "ov_SC03_011", "ov_SC03_012", "ov_SC03_013", "ov_SC03_014", "ov_SC03_015", "ov_SC03_023", "ov_SC03_024", "ov_SC03_028", "ov_SC03_029", "ov_SC03_030", "ov_SC03_031", "ov_SC03_089", "ov_SC03_090", "ov_SC03_091", "ov_SC03_092", "ov_SC03_093", "ov_SC03_094", "ov_SC03_095", "ov_SC03_096", "ov_SC03_097", "ov_SC03_098", "ov_SC03_099", "ov_SC03_100", "ov_SC03_101", "ov_SC03_102", "ov_SC03_103", "ov_SC03_104", "ov_SC03_105", "ov_SC03_107", "ov_SC03_108", "ov_SC03_109", "ov_SC03_110", "ov_SC03_111", "ov_SC03_112", "ov_SC03_113", "ov_SC03_114", "ov_SC03_115", "ov_SC03_116", "ov_SC03_117", "ov_SC03_118", "ov_SC03_119", "ov_SC03_121", "ov_SC03_124", "ov_SC03_125", "ov_SC03_126", "ov_SC04_000", "ov_SC04_002", "ov_SC04_003", "ov_SC04_004", "ov_SC04_005", "ov_SC04_006", "ov_SC04_007", "ov_SC04_008", "ov_SC04_009", "ov_SC04_010", "ov_SC04_011", "ov_SC04_012", "ov_SC04_015", "ov_SC04_016", "ov_SC04_018", "ov_SC04_019", "ov_SC04_020", "ov_SC04_021", "ov_SC05_000", "ov_SC05_001", "ov_SC05_002", "ov_SC05_003", "ov_SC05_004", "ov_SC05_005", "ov_SC05_006", "ov_SC05_007", "ov_SC05_008", "ov_SC05_009", "ov_SC05_010", "ov_SC05_011", "ov_SC05_017", "ov_SC05_018", "ov_SC05_019", "ov_SC06_000", "ov_SC06_006", "ov_SC06_008", "ov_SC06_010", "ov_SC06_011", "ov_SC06_013", "ov_SC06_014", "ov_SC06_015", "ov_SC06_016", "ov_SC06_018", "ov_SC06_020", "ov_SC06_022", "ov_SC06_024", "ov_SC06_025", "ov_SC06_027", "ov_SC06_029", "ov_SC06_030", "ov_SC06_032", "ov_SC06_033", "ov_SC07_000", "ov_SC07_001", "ov_SC07_002", "ov_SC07_006", "ov_SC07_007", "ov_SC07_008", "ov_SC07_009", "ov_SC07_010", "ov_SC07_011"], "header": true, "includers": 136, "o0": false, "nhash_before": "df81d0eacf16a8e1ffdc37d1bae7f09964ee1ec8", "nhash_after": "df81d0eacf16a8e1ffdc37d1bae7f09964ee1ec8", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "pin", "cls": "A", "detail": "$6", "via": "", "line": 32, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.407} +{"ts": "2026-10-02 19:37:03", "label": "t8_hdr1", "rung": "replay", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8013B274__28562738.h", "fn": "func_8013B274", "addr": 2148774516, "aliases": ["ov_SC03_126", "ov_SC04_021", "ov_SC05_019"], "header": true, "includers": 3, "o0": false, "nhash_before": "989ea29447ebea9f665718fe835d44c289cd476c", "nhash_after": "1d5f688ab4f2f9b512bd1dea042a036af2a3566c", "exemplar": {"tu": "src/ov_SC03_118/ov_SC03_118_jr_801380E0.c", "fn": "func_8013B274"}, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "gte-lever", "cls": "B", "detail": "lwc2", "via": "", "line": 51, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 1, "kind": "gte-lever", "cls": "B", "detail": "lwc2", "via": "", "line": 66, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 2, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 76, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 3, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 77, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 4, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 78, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 5, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 79, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 6, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 80, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 7, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 80, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 8, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 81, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 9, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 81, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 4, "seconds": 0.463} +{"ts": "2026-10-02 19:37:03", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8013CF68__94315c4c.h", "fn": "func_8013CF68", "addr": 2148781928, "aliases": ["ov_SC03_126", "ov_SC04_021", "ov_SC05_019"], "header": true, "includers": 3, "o0": false, "nhash_before": "03930f4cac6145c72bae2246355d9b7366ea8883", "nhash_after": "03930f4cac6145c72bae2246355d9b7366ea8883", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "instruction", "cls": "B", "detail": "la", "via": "", "line": 23, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.173} +{"ts": "2026-10-02 19:37:03", "label": "t8_hdr1", "rung": "replay", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8013B274__9e44db0b.h", "fn": "func_8013B274", "addr": 2148774516, "aliases": ["ov_SC04_008", "ov_SC05_009"], "header": true, "includers": 2, "o0": false, "nhash_before": "989ea29447ebea9f665718fe835d44c289cd476c", "nhash_after": "1d5f688ab4f2f9b512bd1dea042a036af2a3566c", "exemplar": {"tu": "src/shared/ov/func_8013B274__28562738.h", "fn": "func_8013B274"}, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "gte-lever", "cls": "B", "detail": "lwc2", "via": "", "line": 51, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 1, "kind": "gte-lever", "cls": "B", "detail": "lwc2", "via": "", "line": 66, "verdict": "REMOVED", "why": "", "oracle": "IDENTICAL"}, {"ord": 2, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 76, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 3, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 77, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 4, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 78, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 5, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 79, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 6, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 80, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 7, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 80, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 8, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 81, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}, {"ord": 9, "kind": "cast", "cls": "C", "detail": "volatile s32 *", "via": "", "line": 81, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 3, "seconds": 0.333} +{"ts": "2026-10-02 19:37:04", "label": "t8_hdr1", "rung": "B", "calib": {"head": "586729bb45", "stamp": "588cbf38c6e4"}, "tu": "src/shared/ov/func_8017C730__tc0f85567.h", "fn": "func_8017C730", "addr": 2149041968, "aliases": ["ov_SC03_010", "ov_SC03_013"], "header": true, "includers": 2, "o0": false, "nhash_before": "252d9cfab33d12b4676f4f0eb7e17e8c1c5ccb38", "nhash_after": "252d9cfab33d12b4676f4f0eb7e17e8c1c5ccb38", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "keepalive", "cls": "B", "detail": "", "via": "", "line": 135, "verdict": "NEEDED", "why": "", "oracle": "DIFFERS"}], "compiles": 2, "seconds": 0.204} diff --git a/.run/P36/delever/run_t8_hdr1.log b/.run/P36/delever/run_t8_hdr1.log new file mode 100644 index 0000000000..73f953e361 --- /dev/null +++ b/.run/P36/delever/run_t8_hdr1.log @@ -0,0 +1,16 @@ +delever --plan: 15 of 15 drawable files · 15 bodies (3 in multi-copy classes) · 55 removable sites · 0 deferred asm-bodies +19:35:55 apply t8_hdr1: 15 files, control src/shared/ov/func_8012EC04.h IDENTICAL (0.23 s), calibration 586729bb45, census 85609721614f5921 +19:36:17 src/shared/ov/func_8012EF34.h:func_8012EF34 A=DIFFERS B: removed 0 needed 2 compiles 3 +19:36:22 src/shared/ov/func_8012EF70.h:func_8012EF70 A=DIFFERS B: removed 0 needed 2 compiles 3 +19:36:26 src/shared/ov/func_80131CF4.h:func_80131CF4 A=DIFFERS B: removed 0 needed 1 compiles 2 +19:36:38 src/shared/ov/func_80144B9C.h:func_80144B9C A=DIFFERS B: removed 0 needed 1 compiles 2 +19:36:39 src/shared/ov/func_80146AFC.h:func_80146AFC A=DIFFERS B: removed 0 needed 1 compiles 2 +19:36:45 src/shared/ov/func_8015126C.h:func_8015126C A=DIFFERS B: removed 0 needed 1 compiles 2 +19:36:52 src/shared/ov/func_80166054.h:func_80166054 A=DIFFERS B: removed 0 needed 5 compiles 6 +19:36:57 src/shared/ov/func_80176D94.h:func_80176D94 A=DIFFERS B: removed 0 needed 1 compiles 2 +19:37:00 src/shared/ov/func_801770E0.h:func_801770E0 A=DIFFERS B: removed 0 needed 1 compiles 2 +19:37:03 src/shared/ov/func_8013CF68__94315c4c.h:func_8013CF68 A=DIFFERS B: removed 0 needed 1 compiles 2 +19:37:04 src/shared/ov/func_8017C730__tc0f85567.h:func_8017C730 A=DIFFERS B: removed 0 needed 1 compiles 2 +19:37:04 delever: batch t8_hdr1 — 15 files (headers; 15 drawable) · 15 bodies: 2 lever-free, 13 residue, 0 refused · sites removed 22 / needed 33 / refused 0 / deferred 0 · replays 2 (0 disagreed) · compiles 1739 in 69 s wall · final 15/15 identical · written 14 files +t8_hdr1 wall=71.46 s +exit=0 diff --git a/src/shared/ov/func_8012EC04.h b/src/shared/ov/func_8012EC04.h index 73abce099d..a3de97f1a0 100644 --- a/src/shared/ov/func_8012EC04.h +++ b/src/shared/ov/func_8012EC04.h @@ -41,49 +41,43 @@ void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3) /* --- GTE tail --- */ /* gte_SetRotMatrix(M) */ M = *(s32 *)(param_1 + 0x20) + 0x34; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lw $12, 0(%0)\n" "lw $13, 4(%0)\n" "ctc2 $12, $0\n" "ctc2 $13, $1\n" "lw $12, 8(%0)\n" "lw $13, 12(%0)\n" "lw $14, 16(%0)\n" - "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" - : : "r"(M) : "$12", "$13", "$14", "memory"); + "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" : : "r"(M) : "$12", "$13", "$14" ); /* column 0: param_3 in place */ - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"((s32)param_3) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"((s32)param_3) : "$12", "$13", "$14" ); gte_stclmv((s32)param_3); /* column 1: param_3 + 2 */ c = (s32)param_3 + 2; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"(c) : "$12", "$13", "$14" ); gte_stclmv(c); /* column 2: param_3 + 4 */ c = (s32)param_3 + 4; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"(c) : "$12", "$13", "$14" ); gte_stclmv(c); /* gte_SetTransMatrix(M) — M reloaded */ M = *(s32 *)(param_1 + 0x20) + 0x34; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lw $12, 20(%0)\n" "lw $13, 24(%0)\n" "ctc2 $12, $5\n" "lw $14, 28(%0)\n" - "ctc2 $13, $6\n" "ctc2 $14, $7\n" - : : "r"(M) : "$12", "$13", "$14", "memory"); + "ctc2 $13, $6\n" "ctc2 $14, $7\n" : : "r"(M) : "$12", "$13", "$14" ); /* gte_ldlv0(param_3->t) ; gte_rt() ; gte_stlvnl(param_3->t) */ c = (s32)param_3 + 0x14; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lhu $13, 4(%0)\n" "lhu $12, 0(%0)\n" "sll $13, $13, 16\n" "or $12, $12, $13\n" "mtc2 $12, $0\n" "lwc2 $1, 8(%0)\n" - "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(c) : "$12", "$13", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" : : "r"(c) : "$12", "$13" ); gte_stlvnl(c); } diff --git a/src/shared/ov/func_8012EF34.h b/src/shared/ov/func_8012EF34.h index ba7b917a2f..39e2050720 100644 --- a/src/shared/ov/func_8012EF34.h +++ b/src/shared/ov/func_8012EF34.h @@ -3,10 +3,10 @@ extern s32 func_8012EFB8(); // K&R: 1 of 2 args (P37 unalias t4_ua1) void func_8012EF34(s32 a0, s32 a1) { s32 sp10; - register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B headers1) + register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B t8_hdr1) func_8012EFB8(a0); { - register s32 *p __asm__("$3") = &sp10; // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B headers1) + register s32 *p __asm__("$3") = &sp10; // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B t8_hdr1) gte_stsz(p); } v1 = sp10; diff --git a/src/shared/ov/func_8012EF70.h b/src/shared/ov/func_8012EF70.h index 1508a3bac2..65713cba61 100644 --- a/src/shared/ov/func_8012EF70.h +++ b/src/shared/ov/func_8012EF70.h @@ -3,10 +3,10 @@ extern s32 func_8012EFB8(); // K&R: 1 of 2 args (P37 unalias t4_ua1) void func_8012EF70(s32 a0, s32 a1) { s32 sp10; - register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B headers1) + register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B t8_hdr1) func_8012EFB8(a0); { - register s32 *p __asm__("$3") = &sp10; // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B headers1) + register s32 *p __asm__("$3") = &sp10; // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B t8_hdr1) gte_stszotz(p); } v1 = sp10; diff --git a/src/shared/ov/func_80131CF4.h b/src/shared/ov/func_80131CF4.h index 82b1a6fd69..6f66f7dad0 100644 --- a/src/shared/ov/func_80131CF4.h +++ b/src/shared/ov/func_80131CF4.h @@ -14,7 +14,7 @@ enter: if (a0[0] == 0) { return 0; } - __asm__ __volatile__("" : "=r"(k) : "0"(0xD) : "memory"); // !FAKE: launder — NEEDED DIFFERS (P36 rung B headers1) + __asm__ __volatile__("" : "=r"(k) : "0"(0xD) : "memory"); // !FAKE: launder — NEEDED DIFFERS (P36 rung B t8_hdr1) v0 = a0[0]; do { if (v0 == k) { diff --git a/src/shared/ov/func_80132784.h b/src/shared/ov/func_80132784.h index b966f6e537..2eace5d60b 100644 --- a/src/shared/ov/func_80132784.h +++ b/src/shared/ov/func_80132784.h @@ -69,41 +69,35 @@ void func_80132784(s32 a0, s32 a1, u32 a2) *((s32 *) (buf + 0x8C)) = (s32) (*((s8 *) (((s32) pu) + 5))); } { -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lw $12, 0(%0)\n" "lw $13, 4(%0)\n" "ctc2 $12, $0\n" "ctc2 $13, $1\n" "lw $12, 8(%0)\n" "lw $13, 12(%0)\n" "lw $14, 16(%0)\n" - "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" - : : "r"((s32 *)(buf + 0x50)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) + "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" : : "r"((s32 *)(buf + 0x50)) : "$12", "$13", "$14" ); __asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"((s16 *)(buf + 0x70)) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"((s16 *)(buf + 0x70)) : "$12", "$13", "$14" ); gte_stclmv((s16 *)(buf + 0x90)); -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"((s16 *)(buf + 0x72)) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"((s16 *)(buf + 0x72)) : "$12", "$13", "$14" ); gte_stclmv((s16 *)(buf + 0x92)); -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"((s16 *)(buf + 0x74)) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"((s16 *)(buf + 0x74)) : "$12", "$13", "$14" ); gte_stclmv((s16 *)(buf + 0x94)); -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lw $12, 20(%0)\n" "lw $13, 24(%0)\n" "ctc2 $12, $5\n" "lw $14, 28(%0)\n" - "ctc2 $13, $6\n" "ctc2 $14, $7\n" - : : "r"((s32 *)(buf + 0x50)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) + "ctc2 $13, $6\n" "ctc2 $14, $7\n" : : "r"((s32 *)(buf + 0x50)) : "$12", "$13", "$14" ); __asm__ __volatile__( "lhu $13, 4(%0)\n" "lhu $12, 0(%0)\n" "sll $13, $13, 16\n" "or $12, $12, $13\n" "mtc2 $12, $0\n" "lwc2 $1, 8(%0)\n" - "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"((s16 *)(buf + 0x84)) : "$12", "$13", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" : : "r"((s16 *)(buf + 0x84)) : "$12", "$13" ); gte_stlvnl((s32 *)(buf + 0xA4)); } s6 = *((s32 *) (s7 + 0x20)); @@ -118,41 +112,35 @@ gte_stlvnl((s32 *)(buf + 0xA4)); *((s16 *) (s6 + 0xC)) = sVar1; *((s32 *) (buf + 0x8C)) = (s32) sVar1; { -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lw $12, 0(%0)\n" "lw $13, 4(%0)\n" "ctc2 $12, $0\n" "ctc2 $13, $1\n" "lw $12, 8(%0)\n" "lw $13, 12(%0)\n" "lw $14, 16(%0)\n" - "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" - : : "r"((s32 *)(buf + 0x90)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) + "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" : : "r"((s32 *)(buf + 0x90)) : "$12", "$13", "$14" ); __asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"((s16 *)(buf + 0x70)) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"((s16 *)(buf + 0x70)) : "$12", "$13", "$14" ); gte_stclmv((s16 *)(buf + 0x50)); -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"((s16 *)(buf + 0x72)) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"((s16 *)(buf + 0x72)) : "$12", "$13", "$14" ); gte_stclmv((s16 *)(buf + 0x52)); -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lhu $12, 0(%0)\n" "lhu $13, 6(%0)\n" "lhu $14, 12(%0)\n" "mtc2 $12, $9\n" "mtc2 $13, $10\n" "mtc2 $14, $11\n" - "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" - : : "r"((s16 *)(buf + 0x74)) : "$12", "$13", "$14", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 3, 3, 0\n" : : "r"((s16 *)(buf + 0x74)) : "$12", "$13", "$14" ); gte_stclmv((s16 *)(buf + 0x54)); -__asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) +__asm__ __volatile__( "lw $12, 20(%0)\n" "lw $13, 24(%0)\n" "ctc2 $12, $5\n" "lw $14, 28(%0)\n" - "ctc2 $13, $6\n" "ctc2 $14, $7\n" - : : "r"((s32 *)(buf + 0x90)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) + "ctc2 $13, $6\n" "ctc2 $14, $7\n" : : "r"((s32 *)(buf + 0x90)) : "$12", "$13", "$14" ); __asm__ __volatile__( "lhu $13, 4(%0)\n" "lhu $12, 0(%0)\n" "sll $13, $13, 16\n" "or $12, $12, $13\n" "mtc2 $12, $0\n" "lwc2 $1, 8(%0)\n" - "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"((s16 *)(buf + 0x84)) : "$12", "$13", "memory"); + "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" : : "r"((s16 *)(buf + 0x84)) : "$12", "$13" ); gte_stlvnl((s32 *)(buf + 0x64)); } *((Blk16 *) (s6 + 0x34)) = *((Blk16 *) (buf + 0x50)); diff --git a/src/shared/ov/func_8013B274__28562738.h b/src/shared/ov/func_8013B274__28562738.h index ffa166fd71..172e1d457f 100644 --- a/src/shared/ov/func_8013B274__28562738.h +++ b/src/shared/ov/func_8013B274__28562738.h @@ -48,12 +48,11 @@ void func_8013B274(s32 a0, s32 a1, void *a2) } *(s16 *)((u8 *)L + 2) = D_800D45F6; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" - "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); + "mvmva 1, 0, 0, 0, 0\n" : : "r"(L) ); gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) @@ -63,12 +62,11 @@ void func_8013B274(s32 a0, s32 a1, void *a2) *(s16 *)L = 9; *(s16 *)((u8 *)L + 2) = 9; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" - "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); + "mvmva 1, 0, 0, 3, 0\n" : : "r"(L) ); gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); diff --git a/src/shared/ov/func_8013B274__9e44db0b.h b/src/shared/ov/func_8013B274__9e44db0b.h index b20099b6b9..3ba4562915 100644 --- a/src/shared/ov/func_8013B274__9e44db0b.h +++ b/src/shared/ov/func_8013B274__9e44db0b.h @@ -48,12 +48,11 @@ void func_8013B274(s32 a0, s32 a1, void *a2) } *(s16 *)((u8 *)L + 2) = D_800D45F6; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" - "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); + "mvmva 1, 0, 0, 0, 0\n" : : "r"(L) ); gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) @@ -63,12 +62,11 @@ void func_8013B274(s32 a0, s32 a1, void *a2) *(s16 *)L = 9; *(s16 *)((u8 *)L + 2) = 9; - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" - "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); + "mvmva 1, 0, 0, 3, 0\n" : : "r"(L) ); gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); diff --git a/src/shared/ov/func_8013CF68__94315c4c.h b/src/shared/ov/func_8013CF68__94315c4c.h index 8e6529c08c..a1026511d2 100644 --- a/src/shared/ov/func_8013CF68__94315c4c.h +++ b/src/shared/ov/func_8013CF68__94315c4c.h @@ -20,7 +20,7 @@ void func_8013CF68() u8 t0, t1, t2; u8 *base; - __asm__("la %0, D_800A5E94" : "=r"(base)); // !FAKE: instruction la — NEEDED DIFFERS (P36 rung B headers2) + __asm__("la %0, D_800A5E94" : "=r"(base)); // !FAKE: instruction la — NEEDED DIFFERS (P36 rung B t8_hdr1) *(s32 *)(base - 0xC) = 0; t0 = D_8018F9D0; t1 = D_8018F9D1; t2 = D_8018F9D2; diff --git a/src/shared/ov/func_80146AFC.h b/src/shared/ov/func_80146AFC.h index 1bd370dbfd..58b60357c7 100644 --- a/src/shared/ov/func_80146AFC.h +++ b/src/shared/ov/func_80146AFC.h @@ -3,7 +3,7 @@ s32 func_80146AFC(void *arg0) { u8 *p; - register u8 *q __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B headers1) + register u8 *q __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B t8_hdr1) u8 *end; p = (u8 *)&D_8011D030; end = p + 0xA50; diff --git a/src/shared/ov/func_8015126C.h b/src/shared/ov/func_8015126C.h index 849a077578..01c7801843 100644 --- a/src/shared/ov/func_8015126C.h +++ b/src/shared/ov/func_8015126C.h @@ -37,7 +37,7 @@ void func_8015126C(u16 *p) extern void func_8014ACE8(void *a0, s32 a1, s32 a2); u8 *r = D_80078E78; /* $s2 */ s32 *q = &D_800AE6A8; /* $s1 */ - register s32 sh16 __asm__("$2"); /* $v0 */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B headers1) + register s32 sh16 __asm__("$2"); /* $v0 */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B t8_hdr1) u16 uVar3; s32 angle; s32 v; diff --git a/src/shared/ov/func_80166054.h b/src/shared/ov/func_80166054.h index 4fcf2b6fb8..d0d76d0958 100644 --- a/src/shared/ov/func_80166054.h +++ b/src/shared/ov/func_80166054.h @@ -12,17 +12,17 @@ void func_80166054(s32 arg0) { extern u8 D_800D387C[]; extern u8 D_800D3888[]; s32 param_1; /* $s2 */ - register s32 s0 __asm__("$16"); /* $s0 */ // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B headers1) - register s32 s1 __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B headers1) + register s32 s0 __asm__("$16"); /* $s0 */ // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B t8_hdr1) + register s32 s1 __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B t8_hdr1) s32 r0; /* $s3 */ s32 r1; /* $s4 */ s32 v1; s32 iVar2; s32 iVar3; - register u32 fld __asm__("$2"); /* $v0 */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B headers1) + register u32 fld __asm__("$2"); /* $v0 */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B t8_hdr1) s32 v0; s32 r2; /* $a1 */ - register s32 a0 __asm__("$4"); /* $a0 */ // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B headers1) + register s32 a0 __asm__("$4"); /* $a0 */ // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B t8_hdr1) param_1 = arg0; s0 = *(s32 *)(param_1 + 0x34); func_80149374(s0, param_1 + 4); @@ -64,7 +64,7 @@ void func_80166054(s32 arg0) { uVar1 = *(u16 *)(param_1 + 0x32); } *(u16 *)(v0 + 0x18) = uVar1; - __asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B headers1) + __asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B t8_hdr1) *(u16 *)(v0 + 0x1a) = *(u16 *)(v0 + 0x18); func_80128EA8(v0, param_1 + 0x24, (s32)D_800D3888); func_801661CC(param_1); diff --git a/src/shared/ov/func_80176D94.h b/src/shared/ov/func_80176D94.h index 9f3cbacc19..c281503f5b 100644 --- a/src/shared/ov/func_80176D94.h +++ b/src/shared/ov/func_80176D94.h @@ -29,7 +29,7 @@ u32 *func_80176D94(void *param_1, u32 param_2, s16 param_3_) puVar3 = (u32 *)func_801777BC(u5, sVar1, (s32)((param_2 + 0x38) << 16) >> 16, iVar6, c3, cad, cff); dl = ((Unkstruct_8011F82C *)&D_8011F82C)->h; { u32 v0m = ((u32)(puVar3 - 5) & 0xffffff) | 0x3000000; - register u32 c6000 __asm__("$6") = 0x6000dcff; // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B headers1) + register u32 c6000 __asm__("$6") = 0x6000dcff; // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B t8_hdr1) puVar3[1] = c6000; *puVar3 = v0m; } uVar4 = ((iVar6 + 10) << 16) | ((param_2 + 1) & 0xffff); diff --git a/src/shared/ov/func_801770E0.h b/src/shared/ov/func_801770E0.h index aded2f02de..275b0465a7 100644 --- a/src/shared/ov/func_801770E0.h +++ b/src/shared/ov/func_801770E0.h @@ -29,7 +29,7 @@ u32 *func_801770E0(void *param_1, u32 param_2, s16 param_3_) puVar3 = (u32 *)func_801777BC(u5, sVar1, (s32)((param_2 + 0x38) << 16) >> 16, iVar6, c3, cb8, cff); dl = ((Unkstruct_8011F830 *)&D_8011F830)->h; { u32 v0m = ((u32)(puVar3 - 5) & 0xffffff) | 0x3000000; - register u32 c6055 __asm__("$6") = 0x6055ff00; // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B headers1) + register u32 c6055 __asm__("$6") = 0x6055ff00; // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B t8_hdr1) puVar3[1] = c6055; *puVar3 = v0m; } uVar4 = ((iVar6 - 4) << 16) | ((param_2 + 1) & 0xffff); diff --git a/src/shared/ov/func_8017C730__tc0f85567.h b/src/shared/ov/func_8017C730__tc0f85567.h index 02ea84d17a..7e5b6ecc50 100644 --- a/src/shared/ov/func_8017C730__tc0f85567.h +++ b/src/shared/ov/func_8017C730__tc0f85567.h @@ -132,7 +132,7 @@ void func_8017C730(s32 arg0) if (mxc < xmx2) mxc = xmx2; if ((s16)mxc >= -0x6E && (s16)mnc < 0x6F) { t32 = mid; - if (!(hhi < t32)) { mnc = hmid; __asm__ volatile ("" : : "r" (mnc)); } // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B headers2) + if (!(hhi < t32)) { mnc = hmid; __asm__ volatile ("" : : "r" (mnc)); } // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B t8_hdr1) prim = (Prim_8017C730_tc0f85567 *)part->prim; nprim = part->nprim; for (i = 0; i < nprim; i++, prim++) {