From 145ab771948864650924e12c4ca27bede751234f Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Wed, 9 Sep 2026 05:55:45 -0600 Subject: [PATCH] =?UTF-8?q?src(phase-36):=20T5=20batch=20gte1=20=E2=80=94?= =?UTF-8?q?=20gte=5Fconsolidate:=20batch=20gte1=20=E2=80=94=20400=20files:?= =?UTF-8?q?=20400=20consolidated,=200=20defs-only,=200=20unchanged,=200=20?= =?UTF-8?q?refused,=200=20no-recipe=20=C2=B7=20definitions=20deleted=20805?= =?UTF-8?q?6=20/=20renamed=20as=20lever=20variants=205=20(variant=20trials?= =?UTF-8?q?:=20416=20freed,=205=20kept)=20=C2=B7=20header-bound=20definiti?= =?UTF-8?q?ons=20kept=2080=20=C2=B7=20use=20renames=20930=20=C2=B7=20direc?= =?UTF-8?q?t=20statements=20=E2=86=92=20calls=20460=20/=20lever=20252=20/?= =?UTF-8?q?=20unmatched=20185=20=C2=B7=20markers=20276=20=C2=B7=20compiles?= =?UTF-8?q?=201146=20=C2=B7=20final=20400/400=20identical=20|=20R22=20chec?= =?UTF-8?q?k-all:=20218=20passed,=200=20failed=20of=20218=20|=20census:=20?= =?UTF-8?q?THE=20PHASE'S=20NUMBER=20(pins=20+=20asm=20statements,=20GTE=20?= =?UTF-8?q?excluded):=2033,901=20sites=20in=2012,601=20bodies=20(1,756=20d?= =?UTF-8?q?istinct)=20=C2=B7=20marked=20!FAKE=2033,665=20=C2=B7=20UNMARKED?= =?UTF-8?q?=20236=20(delever=5Fcycle)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/baseline/r22_gte1.log | 476 +++++ .run/P36/census/lever_census.json | 416 ++-- .run/P36/census/lever_census.txt | 30 +- .run/P36/delever/calibrate_gte1.log | 5 + .run/P36/delever/calibration.json | 366 ++-- .run/P36/delever/ledger.jsonl | 400 ++++ .run/P36/delever/run_gte1.log | 405 ++++ phase-ends/CURRENT_PHASE.md | 4 +- src/800.c | 2289 +++------------------ src/md_MAIN_019/md_MAIN_019.c | 67 +- src/md_MAIN_031/md_MAIN_031.c | 110 +- src/md_MAIN_034/md_MAIN_034.c | 407 +--- src/md_SC07_003/md_SC07_003.c | 172 -- src/md_SC07_004/md_SC07_004.c | 175 +- src/ov_MAIN_012/ov_MAIN_012.c | 148 -- src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c | 116 +- src/ov_MAIN_012/ov_MAIN_012_jr_801380E0.c | 32 +- src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.c | 228 +- src/ov_SC01_000/ov_SC01_000_jr_801380E0.c | 32 +- src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c | 94 - src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.c | 228 +- src/ov_SC01_001/ov_SC01_001_jr_801380E0.c | 32 +- src/ov_SC01_001/ov_SC01_001_jr_8017BEBC.c | 94 - src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.c | 228 +- src/ov_SC01_004/ov_SC01_004_jr_801380E0.c | 32 +- src/ov_SC01_004/ov_SC01_004_jr_8017BE9C.c | 103 +- src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.c | 228 +- src/ov_SC01_005/ov_SC01_005_jr_801380E0.c | 32 +- src/ov_SC01_005/ov_SC01_005_jr_8017C340.c | 103 +- src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.c | 228 +- src/ov_SC01_008/ov_SC01_008_jr_801380E0.c | 32 +- src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c | 103 +- src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.c | 228 +- src/ov_SC01_009/ov_SC01_009_jr_801380E0.c | 32 +- src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c | 103 +- src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.c | 228 +- src/ov_SC01_074/ov_SC01_074_jr_801380E0.c | 32 +- src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c | 103 +- src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.c | 138 +- src/ov_SC01_077/ov_SC01_077_jr_801380E0.c | 32 +- src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c | 81 - src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.c | 228 +- src/ov_SC01_080/ov_SC01_080_jr_801380E0.c | 32 +- src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c | 105 +- src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.c | 228 +- src/ov_SC01_084/ov_SC01_084_jr_801380E0.c | 32 +- src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c | 94 - src/ov_SC01_084/ov_SC01_084_jr_80182A00.c | 56 - src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.c | 228 +- src/ov_SC02_000/ov_SC02_000_jr_801380E0.c | 32 +- src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c | 81 - src/ov_SC02_000/ov_SC02_000_jr_8018173C.c | 56 +- src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.c | 228 +- src/ov_SC02_004/ov_SC02_004_jr_801380E0.c | 32 +- src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c | 81 - src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.c | 228 +- src/ov_SC02_005/ov_SC02_005_jr_801380E0.c | 32 +- src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c | 81 - src/ov_SC02_005/ov_SC02_005_jr_80185E80.c | 68 +- src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.c | 228 +- src/ov_SC02_011/ov_SC02_011_jr_801380E0.c | 32 +- src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c | 167 +- src/ov_SC02_011/ov_SC02_011_jr_80183178.c | 77 +- src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c | 160 +- src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.c | 228 +- src/ov_SC02_015/ov_SC02_015_jr_801380E0.c | 32 +- src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c | 150 -- src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.c | 228 +- src/ov_SC02_016/ov_SC02_016_jr_801380E0.c | 32 +- src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c | 178 +- src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.c | 228 +- src/ov_SC02_017/ov_SC02_017_jr_801380E0.c | 32 +- src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c | 220 +- src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.c | 228 +- src/ov_SC02_021/ov_SC02_021_jr_801380E0.c | 32 +- src/ov_SC02_021/ov_SC02_021_jr_8017C294.c | 130 -- src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c | 56 - src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.c | 228 +- src/ov_SC02_026/ov_SC02_026_jr_801380E0.c | 32 +- src/ov_SC02_026/ov_SC02_026_jr_8017C180.c | 118 -- src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.c | 228 +- src/ov_SC02_027/ov_SC02_027_jr_801380E0.c | 32 +- src/ov_SC02_027/ov_SC02_027_jr_8017D898.c | 247 +-- src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.c | 228 +- src/ov_SC02_028/ov_SC02_028_jr_801380E0.c | 32 +- src/ov_SC02_028/ov_SC02_028_jr_8017D898.c | 137 -- src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.c | 228 +- src/ov_SC02_031/ov_SC02_031_jr_801380E0.c | 32 +- src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c | 110 +- src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.c | 228 +- src/ov_SC02_035/ov_SC02_035_jr_801380E0.c | 32 +- src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c | 142 -- src/ov_SC02_037/ov_SC02_037.c | 232 --- src/ov_SC02_037/ov_SC02_037_jr_80131340.c | 116 +- src/ov_SC02_037/ov_SC02_037_jr_801380E0.c | 32 +- src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c | 151 +- src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.c | 228 +- src/ov_SC02_039/ov_SC02_039_jr_801380E0.c | 32 +- src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c | 138 -- src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.c | 228 +- src/ov_SC02_041/ov_SC02_041_jr_801380E0.c | 32 +- src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c | 317 +-- src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.c | 228 +- src/ov_SC03_001/ov_SC03_001_jr_801380E0.c | 32 +- src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c | 94 - src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.c | 228 +- src/ov_SC03_002/ov_SC03_002_jr_801380E0.c | 32 +- src/ov_SC03_002/ov_SC03_002_jr_8017D604.c | 103 +- src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.c | 228 +- src/ov_SC03_003/ov_SC03_003_jr_801380E0.c | 32 +- src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c | 81 - src/ov_SC03_003/ov_SC03_003_jr_8017D5C0.c | 103 +- src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.c | 228 +- src/ov_SC03_006/ov_SC03_006_jr_801380E0.c | 32 +- src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c | 188 +- src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.c | 228 +- src/ov_SC03_007/ov_SC03_007_jr_801380E0.c | 32 +- src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c | 161 +- src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.c | 228 +- src/ov_SC03_010/ov_SC03_010_jr_801380E0.c | 32 +- src/ov_SC03_010/ov_SC03_010_jr_8017C730.c | 103 +- src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.c | 228 +- src/ov_SC03_011/ov_SC03_011_jr_801380E0.c | 32 +- src/ov_SC03_011/ov_SC03_011_jr_8017C730.c | 103 +- src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.c | 228 +- src/ov_SC03_012/ov_SC03_012_jr_801380E0.c | 32 +- src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c | 81 - src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.c | 228 +- src/ov_SC03_013/ov_SC03_013_jr_801380E0.c | 32 +- src/ov_SC03_013/ov_SC03_013_jr_8017C730.c | 103 +- src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.c | 228 +- src/ov_SC03_014/ov_SC03_014_jr_801380E0.c | 32 +- src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c | 133 +- src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.c | 180 +- src/ov_SC03_014/ov_SC03_014_jr_801848E4.c | 113 +- src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.c | 228 +- src/ov_SC03_023/ov_SC03_023_jr_801380E0.c | 32 +- src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c | 81 - src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.c | 228 +- src/ov_SC03_024/ov_SC03_024_jr_801380E0.c | 32 +- src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c | 80 +- src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c | 103 +- src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.c | 228 +- src/ov_SC03_028/ov_SC03_028_jr_801380E0.c | 32 +- src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c | 153 -- src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.c | 228 +- src/ov_SC03_029/ov_SC03_029_jr_801380E0.c | 32 +- src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c | 103 +- src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c | 146 +- src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.c | 228 +- src/ov_SC03_030/ov_SC03_030_jr_801380E0.c | 32 +- src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c | 289 +-- src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.c | 228 +- src/ov_SC03_031/ov_SC03_031_jr_801380E0.c | 32 +- src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c | 143 +- src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.c | 228 +- src/ov_SC03_089/ov_SC03_089_jr_801380E0.c | 32 +- src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c | 253 +-- src/ov_SC03_089/ov_SC03_089_jr_80185E50.c | 43 - src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.c | 228 +- src/ov_SC03_090/ov_SC03_090_jr_801380E0.c | 32 +- src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c | 301 +-- src/ov_SC03_090/ov_SC03_090_jr_80188274.c | 43 - src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.c | 228 +- src/ov_SC03_091/ov_SC03_091_jr_801380E0.c | 32 +- src/ov_SC03_091/ov_SC03_091_jr_8017D898.c | 174 -- src/ov_SC03_091/ov_SC03_091_jr_8018326C.c | 127 +- src/ov_SC03_091/ov_SC03_091_jr_8018911C.c | 43 - src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.c | 228 +- src/ov_SC03_092/ov_SC03_092_jr_801380E0.c | 32 +- src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c | 90 +- src/ov_SC03_092/ov_SC03_092_jr_80181694.c | 163 -- src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.c | 228 +- src/ov_SC03_093/ov_SC03_093_jr_801380E0.c | 32 +- src/ov_SC03_093/ov_SC03_093_jr_8017D898.c | 142 -- src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.c | 228 +- src/ov_SC03_094/ov_SC03_094_jr_801380E0.c | 32 +- src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c | 142 -- src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.c | 228 +- src/ov_SC03_095/ov_SC03_095_jr_801380E0.c | 32 +- src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.c | 142 -- src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.c | 228 +- src/ov_SC03_096/ov_SC03_096_jr_801380E0.c | 32 +- src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.c | 142 -- src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.c | 228 +- src/ov_SC03_097/ov_SC03_097_jr_801380E0.c | 32 +- src/ov_SC03_097/ov_SC03_097_jr_8017D898.c | 137 -- src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.c | 228 +- src/ov_SC03_098/ov_SC03_098_jr_801380E0.c | 32 +- src/ov_SC03_098/ov_SC03_098_jr_8017D898.c | 142 -- src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c | 228 +- src/ov_SC03_099/ov_SC03_099_jr_801380E0.c | 32 +- src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c | 142 -- src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.c | 228 +- src/ov_SC03_100/ov_SC03_100_jr_801380E0.c | 32 +- src/ov_SC03_100/ov_SC03_100_jr_8017D898.c | 142 -- src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.c | 228 +- src/ov_SC03_101/ov_SC03_101_jr_801380E0.c | 32 +- src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c | 228 -- src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.c | 228 +- src/ov_SC03_102/ov_SC03_102_jr_801380E0.c | 32 +- src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c | 255 +-- src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.c | 228 +- src/ov_SC03_103/ov_SC03_103_jr_801380E0.c | 32 +- src/ov_SC03_103/ov_SC03_103_jr_8017C294.c | 219 -- src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.c | 228 +- src/ov_SC03_104/ov_SC03_104_jr_801380E0.c | 32 +- src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c | 174 -- src/ov_SC03_104/ov_SC03_104_jr_80182038.c | 165 +- src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.c | 228 +- src/ov_SC03_105/ov_SC03_105_jr_801380E0.c | 32 +- src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c | 94 - src/ov_SC03_105/ov_SC03_105_jr_80181C84.c | 226 +- src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c | 115 -- src/ov_SC03_107/ov_SC03_107.c | 232 --- src/ov_SC03_107/ov_SC03_107_jr_80131340.c | 116 +- src/ov_SC03_107/ov_SC03_107_jr_801380E0.c | 32 +- src/ov_SC03_107/ov_SC03_107_jr_801789AC.c | 224 +- src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.c | 228 +- src/ov_SC03_108/ov_SC03_108_jr_801380E0.c | 32 +- src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c | 138 -- src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.c | 228 +- src/ov_SC03_109/ov_SC03_109_jr_801380E0.c | 32 +- src/ov_SC03_109/ov_SC03_109_jr_8017C180.c | 142 -- src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.c | 228 +- src/ov_SC03_110/ov_SC03_110_jr_801380E0.c | 32 +- src/ov_SC03_110/ov_SC03_110_jr_8017D898.c | 94 - src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.c | 228 +- src/ov_SC03_111/ov_SC03_111_jr_801380E0.c | 32 +- src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c | 301 +-- src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.c | 228 +- src/ov_SC03_112/ov_SC03_112_jr_801380E0.c | 32 +- src/ov_SC03_112/ov_SC03_112_jr_8017C294.c | 293 --- src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.c | 228 +- src/ov_SC03_113/ov_SC03_113_jr_801380E0.c | 32 +- src/ov_SC03_113/ov_SC03_113_jr_8017C294.c | 325 +-- src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.c | 228 +- src/ov_SC03_114/ov_SC03_114_jr_801380E0.c | 32 +- src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c | 149 -- src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.c | 228 +- src/ov_SC03_115/ov_SC03_115_jr_801380E0.c | 32 +- src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c | 103 +- src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.c | 228 +- src/ov_SC03_116/ov_SC03_116_jr_801380E0.c | 32 +- src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c | 80 - src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.c | 228 +- src/ov_SC03_117/ov_SC03_117_jr_801380E0.c | 32 +- src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c | 103 +- src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c | 56 - src/ov_SC03_117/ov_SC03_117_jr_80181C80.c | 100 +- src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.c | 228 +- src/ov_SC03_118/ov_SC03_118_jr_801380E0.c | 32 +- src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c | 80 +- src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c | 184 +- src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.c | 228 +- src/ov_SC03_121/ov_SC03_121_jr_801380E0.c | 32 +- src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c | 94 - src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.c | 228 +- src/ov_SC03_124/ov_SC03_124_jr_801380E0.c | 32 +- src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c | 94 - src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.c | 228 +- src/ov_SC03_125/ov_SC03_125_jr_801380E0.c | 32 +- src/ov_SC03_125/ov_SC03_125_jr_8017D604.c | 103 +- src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.c | 222 -- src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c | 81 - src/ov_SC03_126/ov_SC03_126_jr_8017D5C0.c | 94 - src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.c | 228 +- src/ov_SC04_000/ov_SC04_000_jr_801380E0.c | 32 +- src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c | 127 +- src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.c | 228 +- src/ov_SC04_002/ov_SC04_002_jr_801380E0.c | 32 +- src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c | 302 +-- src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.c | 228 +- src/ov_SC04_003/ov_SC04_003_jr_801380E0.c | 32 +- src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c | 204 -- src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.c | 228 +- src/ov_SC04_004/ov_SC04_004_jr_801380E0.c | 32 +- src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c | 103 +- src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.c | 228 +- src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c | 412 +--- src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.c | 228 +- src/ov_SC04_006/ov_SC04_006_jr_8017BEBC.c | 118 -- src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.c | 228 +- src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c | 412 +--- src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.c | 228 +- src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c | 94 - src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.c | 228 +- src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c | 166 -- src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.c | 228 +- src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c | 94 - src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c | 228 +- src/ov_SC04_011/ov_SC04_011_jr_8017D494.c | 302 +-- src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.c | 228 +- src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c | 94 - src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.c | 228 +- src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c | 103 +- src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.c | 228 +- src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c | 94 - src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c | 81 - src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.c | 228 +- src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c | 94 - src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.c | 228 +- src/ov_SC04_020/ov_SC04_020_jr_8017D604.c | 103 +- src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.c | 222 -- src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c | 81 - src/ov_SC04_021/ov_SC04_021_jr_8017D5C0.c | 94 - src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.c | 228 +- src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c | 103 +- src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.c | 228 +- src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c | 103 +- src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.c | 228 +- src/ov_SC05_002/ov_SC05_002_jr_8017BEBC.c | 273 --- src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.c | 228 +- src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c | 249 --- src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.c | 228 +- src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c | 103 +- src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.c | 228 +- src/ov_SC05_005/ov_SC05_005_jr_8017D898.c | 94 - src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.c | 228 +- src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c | 103 +- src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.c | 228 +- src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c | 94 - src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.c | 228 +- src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c | 94 - src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.c | 228 +- src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c | 142 -- src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.c | 228 +- src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c | 94 - src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.c | 228 +- src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c | 94 - src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.c | 228 +- src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c | 94 - src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.c | 228 +- src/ov_SC05_018/ov_SC05_018_jr_8017D604.c | 103 +- src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.c | 222 -- src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c | 81 - src/ov_SC05_019/ov_SC05_019_jr_8017D5C0.c | 94 - src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.c | 228 +- src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c | 371 +--- src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.c | 228 +- src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c | 94 - src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c | 81 - src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.c | 228 +- src/ov_SC06_008/ov_SC06_008_jr_8017C294.c | 222 +- src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.c | 228 +- src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c | 209 +- src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.c | 228 +- src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.c | 118 -- src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.c | 228 +- src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c | 96 +- src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.c | 228 +- src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c | 96 +- src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.c | 228 +- src/ov_SC06_015/ov_SC06_015_jr_8017BEBC.c | 96 +- src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c | 228 +- src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c | 94 - src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.c | 228 +- src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c | 222 +- src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c | 216 -- src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.c | 228 +- src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c | 205 +- src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.c | 228 +- src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c | 94 - src/ov_SC06_022/ov_SC06_022_jr_80182D08.c | 99 +- src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.c | 228 +- src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c | 241 +-- src/ov_SC06_024/ov_SC06_024_jr_801851E0.c | 99 +- src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.c | 228 +- src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c | 94 - src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.c | 228 +- src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c | 94 - src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.c | 228 +- src/ov_SC06_029/ov_SC06_029_jr_8017C954.c | 474 +---- src/ov_SC06_029/ov_SC06_029_jr_801867D0.c | 78 +- src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.c | 228 +- src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c | 94 - src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c | 117 +- src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.c | 228 +- src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c | 222 +- src/ov_SC06_032/ov_SC06_032_jr_80182890.c | 310 +-- src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.c | 228 +- src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c | 123 +- src/ov_SC06_033/ov_SC06_033_jr_801836FC.c | 99 +- src/ov_SC06_033/ov_SC06_033_jr_80186574.c | 98 - src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.c | 228 +- src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c | 181 +- src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.c | 228 +- src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c | 452 +--- src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.c | 228 +- src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c | 319 +-- src/ov_SC07_006/ov_SC07_006.c | 148 -- src/ov_SC07_006/ov_SC07_006_jr_80131340.c | 80 +- src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c | 94 - src/ov_SC07_007/ov_SC07_007.c | 148 -- src/ov_SC07_007/ov_SC07_007_jr_80131340.c | 80 +- src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c | 94 - src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.c | 228 +- src/ov_SC07_008/ov_SC07_008_jr_8017BEBC.c | 94 - src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.c | 228 +- src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.c | 94 - src/ov_SC07_010/ov_SC07_010.c | 148 -- src/ov_SC07_010/ov_SC07_010_jr_80131340.c | 80 +- src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c | 81 - src/ov_SC07_011/ov_SC07_011.c | 148 -- src/ov_SC07_011/ov_SC07_011_jr_80131340.c | 80 +- src/ov_SC07_011/ov_SC07_011_jr_8017BEBC.c | 94 - src/shared/ov/func_8012EC04.h | 31 +- src/shared/ov/func_80132784.h | 62 +- 408 files changed, 3364 insertions(+), 59940 deletions(-) create mode 100644 .run/P36/baseline/r22_gte1.log create mode 100644 .run/P36/delever/calibrate_gte1.log create mode 100644 .run/P36/delever/run_gte1.log diff --git a/.run/P36/baseline/r22_gte1.log b/.run/P36/baseline/r22_gte1.log new file mode 100644 index 0000000000..6ed8fb8d02 --- /dev/null +++ b/.run/P36/baseline/r22_gte1.log @@ -0,0 +1,476 @@ +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:001 text) kinds {'gte': 9102, 'launder': 428, 'instruction': 9, 'barrier': 1} + asm kinds: {'asm-body/direct': 13, 'barrier/direct': 4576, 'barrier/via-macro': 2, 'gte/direct': 425, 'gte/via-macro': 987, 'gte-lever/direct': 252, 'gte-lever/via-macro': 24, 'gte-unsigned/direct': 3, 'instruction/direct': 1690, 'instruction/via-macro': 22, 'keepalive/direct': 2000, 'launder/direct': 4236, 'launder/via-macro': 440, 'verbatim-body/direct': 2682} + instruction mnemonics: {'addu': 966, 'move': 406, 'la': 142, 'lh': 134, 'addiu': 22, 'RTP_SND': 22, '.section': 7, 'lui': 4, 'and': 2, 'mult': 1, 'mfhi': 1, 'li': 1, 'nop': 1, 'srl': 1, 'sll': 1, 'lw': 1} + gte mnemonics: {'lwc2': 267, 'gte_ldIR0z': 133, 'gte_ldrgb': 133, 'gte_ldIRGB': 133, 'gte_dpcl': 133, 'gte_stORGB': 133, 'swc2': 129, 'gte_ldv0': 71, 'gte_stlvnl': 53, 'gte_mvmva0': 52, 'gte_SetRotMatrix': 33, 'gte_SetTransMatrix': 32, 'lw': 26, 'gte_rt': 21, 'gte_stsv': 18, 'SRM_80186B78': 12, 'STM_80186B78': 12, 'LDV': 3, 'STSV': 3, 'nop': 1, 'cfc2': 1, 'gte_ldlv0': 1, 'gte_rtps': 1, 'gte_stsxy': 1, 'gte_ldv3_80181E04': 1, 'gte_rtpt_80181E04': 1, 'gte_stflg_80181E04': 1, 'gte_stsxy01_80181E04': 1, 'gte_stsz3_80181E04': 1, 'gte_rtv0': 1} + asm-bearing macro definitions: 1,484 (45 names, 5 with >1 text) kinds {'gte': 1046, 'instruction': 9, 'barrier': 1, 'launder': 428} controls (R39): src/800.c func_800226C0 pins got 14 expected 45 N-A src/shared/ov/func_80178004.h pins got 8 expected 26 N-A ov_SC03_006 func_80184034 bare-name pins got 0 expected 3 N-A engine_prelude.h asm sites (a macro definition only) got 0 expected 0 OK - elapsed 50.8 s + elapsed 36.4 s diff --git a/.run/P36/delever/calibrate_gte1.log b/.run/P36/delever/calibrate_gte1.log new file mode 100644 index 0000000000..85af00dc14 --- /dev/null +++ b/.run/P36/delever/calibrate_gte1.log @@ -0,0 +1,5 @@ +delever_oracle --calibrate main ov_SC03_014 ov_SC03_015 ov_SC04_011: 177/177 objects byte-identical untouched; twin checks 32 (0 mismatch); positive control DIFFERS on build/src/800.o; 3.3 s — OK + main 85/85 identical, mean 0.116 s per object + ov_SC03_014 32/32 identical, mean 0.207 s per object + ov_SC03_015 32/32 identical, mean 0.185 s per object + ov_SC04_011 28/28 identical, mean 0.201 s per object diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 568e752144..19d7d12a45 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "0cb78a6a7", + "head": "0bd784c64", "stamp": "b44c5a8a3423", - "generated": "2026-09-09 04:51", + "generated": "2026-09-09 05:29", "aliases": [ "main", "ov_SC03_014", @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 9.617999999999999, - "mean_s": 0.113 + "seconds": 9.876999999999999, + "mean_s": 0.116 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 6.0600000000000005, - "mean_s": 0.189 + "seconds": 6.617, + "mean_s": 0.207 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 5.9430000000000005, - "mean_s": 0.186 + "seconds": 5.929000000000002, + "mean_s": 0.185 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 4.99, - "mean_s": 0.178 + "seconds": 5.6160000000000005, + "mean_s": 0.201 } }, "per_object_seconds": { - "build/src/800.o": 1.301, - "build/src/800_b.o": 0.086, - "build/src/800_b_2.o": 0.373, - "build/src/800_b_o0a.o": 0.081, - "build/src/800_c.o": 0.281, - "build/src/800b2.o": 0.085, - "build/src/apicard1.o": 0.107, - "build/src/apicard2.o": 0.084, - "build/src/apicard3.o": 0.108, - "build/src/apicard4.o": 0.116, - "build/src/apicard5.o": 0.145, - "build/src/apicard6.o": 0.113, - "build/src/apicard7.o": 0.078, - "build/src/boot.o": 0.102, - "build/src/gap.o": 0.086, - "build/src/libapi1.o": 0.171, - "build/src/libapi2.o": 0.103, - "build/src/libc2_1.o": 0.077, - "build/src/libc2_2.o": 0.072, - "build/src/libcd1.o": 0.103, - "build/src/libcd2.o": 0.067, - "build/src/libetc.o": 0.082, - "build/src/libgpu.o": 0.078, - "build/src/libgpu2.o": 0.091, - "build/src/libgs1.o": 0.106, - "build/src/libgs2.o": 0.103, - "build/src/libgs3.o": 0.099, - "build/src/libgs4.o": 0.086, - "build/src/libgs5.o": 0.113, - "build/src/libgs6.o": 0.112, - "build/src/libgs7.o": 0.089, + "build/src/800.o": 1.092, + "build/src/800_b.o": 0.108, + "build/src/800_b_2.o": 0.447, + "build/src/800_b_o0a.o": 0.167, + "build/src/800_c.o": 0.345, + "build/src/800b2.o": 0.11, + "build/src/apicard1.o": 0.08, + "build/src/apicard2.o": 0.129, + "build/src/apicard3.o": 0.089, + "build/src/apicard4.o": 0.088, + "build/src/apicard5.o": 0.138, + "build/src/apicard6.o": 0.08, + "build/src/apicard7.o": 0.11, + "build/src/boot.o": 0.118, + "build/src/gap.o": 0.105, + "build/src/libapi1.o": 0.096, + "build/src/libapi2.o": 0.086, + "build/src/libc2_1.o": 0.083, + "build/src/libc2_2.o": 0.078, + "build/src/libcd1.o": 0.123, + "build/src/libcd2.o": 0.07, + "build/src/libetc.o": 0.069, + "build/src/libgpu.o": 0.136, + "build/src/libgpu2.o": 0.145, + "build/src/libgs1.o": 0.071, + "build/src/libgs2.o": 0.076, + "build/src/libgs3.o": 0.067, + "build/src/libgs4.o": 0.09, + "build/src/libgs5.o": 0.082, + "build/src/libgs6.o": 0.144, + "build/src/libgs7.o": 0.076, "build/src/libgs8.o": 0.066, - "build/src/libgte1.o": 0.132, - "build/src/libgte10.o": 0.08, - "build/src/libgte11.o": 0.077, - "build/src/libgte12.o": 0.154, - "build/src/libgte13.o": 0.078, - "build/src/libgte14.o": 0.086, - "build/src/libgte15.o": 0.061, - "build/src/libgte16.o": 0.178, - "build/src/libgte17.o": 0.072, - "build/src/libgte18.o": 0.079, - "build/src/libgte19.o": 0.088, - "build/src/libgte2.o": 0.068, + "build/src/libgte1.o": 0.076, + "build/src/libgte10.o": 0.065, + "build/src/libgte11.o": 0.067, + "build/src/libgte12.o": 0.074, + "build/src/libgte13.o": 0.075, + "build/src/libgte14.o": 0.064, + "build/src/libgte15.o": 0.159, + "build/src/libgte16.o": 0.074, + "build/src/libgte17.o": 0.074, + "build/src/libgte18.o": 0.137, + "build/src/libgte19.o": 0.062, + "build/src/libgte2.o": 0.135, "build/src/libgte20.o": 0.069, - "build/src/libgte21.o": 0.084, - "build/src/libgte22.o": 0.101, - "build/src/libgte23.o": 0.126, - "build/src/libgte24.o": 0.069, - "build/src/libgte25.o": 0.126, - "build/src/libgte26.o": 0.114, - "build/src/libgte27.o": 0.091, - "build/src/libgte28.o": 0.064, - "build/src/libgte29.o": 0.066, - "build/src/libgte3.o": 0.064, - "build/src/libgte30.o": 0.122, - "build/src/libgte4.o": 0.08, - "build/src/libgte5.o": 0.084, - "build/src/libgte6.o": 0.068, - "build/src/libgte7.o": 0.066, - "build/src/libgte8.o": 0.104, - "build/src/libgte9.o": 0.062, - "build/src/libmcrd1.o": 0.079, - "build/src/libmcrd2.o": 0.08, - "build/src/libpad1.o": 0.063, - "build/src/libpad2.o": 0.104, - "build/src/sgap.o": 0.102, - "build/src/sgap_2.o": 0.205, - "build/src/sgap_3.o": 0.113, - "build/src/sgap_4.o": 0.155, - "build/src/sgap_5.o": 0.073, - "build/src/sgap_6.o": 0.078, - "build/src/sgap_8.o": 0.079, - "build/src/snd1.o": 0.071, + "build/src/libgte21.o": 0.067, + "build/src/libgte22.o": 0.084, + "build/src/libgte23.o": 0.077, + "build/src/libgte24.o": 0.092, + "build/src/libgte25.o": 0.109, + "build/src/libgte26.o": 0.08, + "build/src/libgte27.o": 0.078, + "build/src/libgte28.o": 0.097, + "build/src/libgte29.o": 0.073, + "build/src/libgte3.o": 0.076, + "build/src/libgte30.o": 0.108, + "build/src/libgte4.o": 0.082, + "build/src/libgte5.o": 0.076, + "build/src/libgte6.o": 0.098, + "build/src/libgte7.o": 0.15, + "build/src/libgte8.o": 0.205, + "build/src/libgte9.o": 0.162, + "build/src/libmcrd1.o": 0.078, + "build/src/libmcrd2.o": 0.077, + "build/src/libpad1.o": 0.12, + "build/src/libpad2.o": 0.069, + "build/src/sgap.o": 0.085, + "build/src/sgap_2.o": 0.076, + "build/src/sgap_3.o": 0.09, + "build/src/sgap_4.o": 0.107, + "build/src/sgap_5.o": 0.067, + "build/src/sgap_6.o": 0.217, + "build/src/sgap_8.o": 0.088, + "build/src/snd1.o": 0.094, "build/src/snd10.o": 0.079, - "build/src/snd11.o": 0.093, - "build/src/snd12.o": 0.12, - "build/src/snd2.o": 0.073, - "build/src/snd3.o": 0.081, - "build/src/snd4.o": 0.071, - "build/src/snd5.o": 0.073, - "build/src/snd6.o": 0.075, - "build/src/snd7.o": 0.067, - "build/src/snd8.o": 0.13, - "build/src/snd9.o": 0.077, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.146, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.621, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.473, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.07, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.065, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.133, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.169, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.134, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.193, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.082, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.299, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.127, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.226, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.136, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.078, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.119, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.14, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.656, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.318, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.123, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.228, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.072, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.116, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.08, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.213, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.236, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.057, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.417, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.067, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.073, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.073, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.12, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.168, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.732, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.495, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.066, + "build/src/snd11.o": 0.076, + "build/src/snd12.o": 0.16, + "build/src/snd2.o": 0.097, + "build/src/snd3.o": 0.071, + "build/src/snd4.o": 0.073, + "build/src/snd5.o": 0.117, + "build/src/snd6.o": 0.097, + "build/src/snd7.o": 0.091, + "build/src/snd8.o": 0.114, + "build/src/snd9.o": 0.125, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.254, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.677, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.457, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.093, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.098, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.175, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.302, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.129, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.18, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.11, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.279, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.08, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.203, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.109, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.077, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.098, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.131, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.684, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.465, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.105, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.218, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.07, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.157, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.084, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.2, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.233, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.133, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.503, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.083, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.077, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.071, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.082, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.139, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.592, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.473, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.085, "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.06, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.123, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.172, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.118, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.117, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.105, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.263, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.131, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.185, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.109, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.096, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.082, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.21, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.177, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.18, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.078, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.069, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.201, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.122, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.214, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.1, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.075, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.085, "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.109, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.53, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.341, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.104, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.232, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.069, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.118, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.101, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.195, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.257, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.472, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.068, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.067, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.065, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.134, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.229, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.513, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.426, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.055, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.08, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.165, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.184, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.127, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.078, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.094, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.213, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.126, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.173, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.093, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.105, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.086, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.103, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.428, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.251, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.117, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.225, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.085, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.134, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.099, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.125, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.541, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.06, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.075 + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.545, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.333, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.116, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.324, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.073, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.114, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.093, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.187, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.335, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.069, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.331, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.106, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.089, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.08, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.165, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.142, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.502, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.45, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.139, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.103, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.131, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.187, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.217, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.12, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.148, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.206, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.119, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.269, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.135, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.084, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.123, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.104, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.433, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.274, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.122, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.303, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.075, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.118, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.088, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.139, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.733, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.079, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.073 }, "ok": true, - "seconds": 3.0 + "seconds": 3.3 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 65106fa455..a7c8bac957 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -16340,3 +16340,403 @@ {"ts": "2026-09-09 04:54:11", "label": "tus11", "rung": "B", "calib": {"head": "0cb78a6a7", "stamp": "b44c5a8a3423"}, "tu": "src/md_SC07_004/md_SC07_004.c", "fn": "", "addr": null, "aliases": ["md_SC07_004"], "header": false, "includers": 0, "o0": false, "nhash_before": "fs:98e2ca453f7c49236715963280142aeb6181814f", "nhash_after": "fs:98e2ca453f7c49236715963280142aeb6181814f", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 2719, "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": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 5105, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}, {"ord": 2, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 5537, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}, {"ord": 3, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 8028, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}, {"ord": 4, "kind": "instruction", "cls": "B", "detail": ".section", "via": "", "line": 8970, "verdict": "REFUSED", "why": "asm-data: a `.section` block defines data as assembly (a rodata carve, not a compiler steer) \u2014 T7", "oracle": ""}, {"ord": 5, "kind": "decl-file", "cls": "C", "detail": "extern", "via": "", "line": 8975, "verdict": "NEEDED", "why": "src/md_SC07_004/md_SC07_004.c: At top level:\nsrc/md_SC07_004/md_SC07_004.c: At top level:\nsrc/md_SC07_004/md_SC07_004.c: At top level:\nsrc/md_SC07_004/md_SC07_0", "oracle": "COMPILE-ERROR"}, {"ord": 6, "kind": "decl-file", "cls": "C", "detail": "extern", "via": "", "line": 8975, "verdict": "NEEDED", "why": "src/md_SC07_004/md_SC07_004.c: At top level:\nsrc/md_SC07_004/md_SC07_004.c: At top level:\nsrc/md_SC07_004/md_SC07_004.c: At top level:\nsrc/md_SC07_004/md_SC07_0", "oracle": "COMPILE-ERROR"}], "compiles": 3, "seconds": 1.189} {"ts": "2026-09-09 04:54:12", "label": "tus11", "rung": "B", "calib": {"head": "0cb78a6a7", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_107/ov_SC03_107_jr_8015444C.c", "fn": "", "addr": null, "aliases": ["ov_SC03_107"], "header": false, "includers": 0, "o0": false, "nhash_before": "fs:676098cf44d7a62e251b28e706b4aa37262a88cf", "nhash_after": "fs:676098cf44d7a62e251b28e706b4aa37262a88cf", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "barrier", "cls": "B", "detail": "", "via": "", "line": 1589, "verdict": "NEEDED", "why": " 1958 | /* ==== end \u00a78b carried decl layer ==== */\n | \nsrc/ov_SC03_107/ov_SC03_107_jr_8015444C.c:1591: storage class specified for parameter `aF8014C4AC'\n", "oracle": "COMPILE-ERROR"}, {"ord": 1, "kind": "barrier", "cls": "B", "detail": "", "via": "", "line": 1684, "verdict": "NEEDED", "why": " 1958 | /* ==== end \u00a78b carried decl layer ==== */\n | \nsrc/ov_SC03_107/ov_SC03_107_jr_8015444C.c:1686: storage class specified for parameter `aF8014E5B4'\n", "oracle": "COMPILE-ERROR"}], "compiles": 3, "seconds": 0.16} {"ts": "2026-09-09 04:54:12", "label": "tus11", "rung": "B", "calib": {"head": "0cb78a6a7", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_037/ov_SC02_037_jr_8015444C.c", "fn": "", "addr": null, "aliases": ["ov_SC02_037"], "header": false, "includers": 0, "o0": false, "nhash_before": "fs:676098cf44d7a62e251b28e706b4aa37262a88cf", "nhash_after": "fs:676098cf44d7a62e251b28e706b4aa37262a88cf", "exemplar": null, "verdict": "RESIDUE", "replay_disagreed": false, "sites": [{"ord": 0, "kind": "barrier", "cls": "B", "detail": "", "via": "", "line": 1602, "verdict": "NEEDED", "why": " 1974 | /* ==== end \u00a78b carried decl layer ==== */\n | \nsrc/ov_SC02_037/ov_SC02_037_jr_8015444C.c:1604: storage class specified for parameter `aF8014C4AC'\n", "oracle": "COMPILE-ERROR"}, {"ord": 1, "kind": "barrier", "cls": "B", "detail": "", "via": "", "line": 1700, "verdict": "NEEDED", "why": " 1974 | /* ==== end \u00a78b carried decl layer ==== */\n | \nsrc/ov_SC02_037/ov_SC02_037_jr_8015444C.c:1702: storage class specified for parameter `aF8014E5B4'\n", "oracle": "COMPILE-ERROR"}], "compiles": 3, "seconds": 0.209} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/800.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 17, "seconds": 12.872162818908691, "record": {"deleted": 349, "renamed_defs": 0, "use_renames": 237, "direct_calls": 29, "direct_levers": 19, "direct_none": 11, "marked": 19, "defs": [{"name": "gte_SetRotMatrix_139C8", "l0": 1209, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_ldclmv_139C8", "l0": 1224, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_rtir_139C8", "l0": 1235, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stclmv_139C8", "l0": 1237, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_SetRotMatrixX", "l0": 1401, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_ldclmvX", "l0": 1414, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_rtirX", "l0": 1423, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stclmvX", "l0": 1425, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_ldv0", "l0": 4270, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4276, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4286, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4287, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 4288, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 4290, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4296, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 4304, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 4310, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 4470, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4476, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4486, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4487, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 4488, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 4490, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4496, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stflg", "l0": 4504, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stotz", "l0": 4512, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_ldv0", "l0": 5147, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5153, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 5163, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5164, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 5165, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 5167, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5173, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 5181, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 5187, "action": "deleted", "canonical": "gte_stflg"}, {"name": "LDV0_8001D8C4", "l0": 10520, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "MVMVA_8001D8C4", "l0": 10527, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "STMAC123_8001D8C4", "l0": 10533, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "SETROT_DA34", "l0": 10644, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "LDCLMV_DA34", "l0": 10657, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "RTIR_DA34", "l0": 10666, "action": "deleted", "canonical": "gte_rtir"}, {"name": "STCLMV_DA34", "l0": 10668, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "LDV0_DA34", "l0": 10677, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "LDRGB_DA34", "l0": 10678, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "NCCS_DA34", "l0": 10679, "action": "deleted", "canonical": "gte_nccs"}, {"name": "STRGB_DA34", "l0": 10680, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_ldv3", "l0": 11184, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0", "l0": 11194, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt", "l0": 11200, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps", "l0": 11201, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_avsz4", "l0": 11202, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy3", "l0": 11204, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy", "l0": 11212, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 11218, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stotz", "l0": 11226, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_SetRotMatrix_EA14", "l0": 11436, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_EA14", "l0": 11451, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0_EA14", "l0": 11462, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_EA14", "l0": 11468, "action": "deleted", "canonical": "gte_ldv3_alt"}, {"name": "gte_rtps_EA14", "l0": 11478, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_EA14", "l0": 11479, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy_EA14", "l0": 11481, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy0_EA14", "l0": 11487, "action": "deleted", "canonical": "gte_stsxy0"}, {"name": "gte_stsxy1_EA14", "l0": 11493, "action": "deleted", "canonical": "gte_stsxy1"}, {"name": "gte_stflg_EA14", "l0": 11499, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stsz_EA14", "l0": 11507, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz_EA14", "l0": 11513, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_rt_EA14", "l0": 11522, "action": "deleted", "canonical": "gte_rt_alt"}, {"name": "SRM_8001EFE0", "l0": 11899, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_8001EFE0", "l0": 11907, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "ldv0_8001EFE0", "l0": 11913, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "ldv3_8001EFE0", "l0": 11918, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "rtps_8001EFE0", "l0": 11927, "action": "deleted", "canonical": "gte_rtps"}, {"name": "rtpt_8001EFE0", "l0": 11928, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "stsxy_8001EFE0", "l0": 11930, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "stsxy0_8001EFE0", "l0": 11934, "action": "deleted", "canonical": "gte_stsxy0"}, {"name": "stsxy1_8001EFE0", "l0": 11938, "action": "deleted", "canonical": "gte_stsxy1"}, {"name": "stflg_8001EFE0", "l0": 11942, "action": "deleted", "canonical": "gte_stflg"}, {"name": "stsz_8001EFE0", "l0": 11948, "action": "deleted", "canonical": "gte_stsz"}, {"name": "stszotz_8001EFE0", "l0": 11952, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "SRM_8001F730", "l0": 12189, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "LDV0_8001F730", "l0": 12204, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "RTV0_8001F730", "l0": 12211, "action": "deleted", "canonical": "gte_rtv0"}, {"name": "STLVNL_8001F730", "l0": 12217, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "SRM_80020248", "l0": 12803, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80020248", "l0": 12818, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "LDCLMV_80020248", "l0": 12829, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "RTIR_80020248", "l0": 12840, "action": "deleted", "canonical": "gte_rtir"}, {"name": "STCLMV_80020248", "l0": 12846, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "LDLVL_80020248", "l0": 12857, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "RT_80020248", "l0": 12868, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "STLVNL_80020248", "l0": 12874, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "SRM_80020598", "l0": 13032, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80020598", "l0": 13047, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "LDCLMV_80020598", "l0": 13058, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "RTIR_80020598", "l0": 13069, "action": "deleted", "canonical": "gte_rtir"}, {"name": "STCLMV_80020598", "l0": 13075, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "LDLVL_80020598", "l0": 13086, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "RT_80020598", "l0": 13097, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "STLVNL_80020598", "l0": 13103, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "SRM_80020A28", "l0": 13256, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80020A28", "l0": 13271, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "LDCLMV_80020A28", "l0": 13282, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "RTIR_80020A28", "l0": 13293, "action": "deleted", "canonical": "gte_rtir"}, {"name": "STCLMV_80020A28", "l0": 13299, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "LDLVL_80020A28", "l0": 13310, "action": "deleted", "canonical": "gte_ldlvl_alt"}, {"name": "RT_80020A28", "l0": 13324, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "STLVNL_80020A28", "l0": 13330, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_ldv0", "l0": 13770, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 13775, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 13781, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 13787, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 13897, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 13903, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 13913, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 13914, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 13915, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 13917, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 13923, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stopz", "l0": 13931, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stflg", "l0": 13937, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stszotz", "l0": 13945, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_SetRotMatrix_21D38", "l0": 14416, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_21D38", "l0": 14431, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0_21D38", "l0": 14442, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_21D38", "l0": 14448, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_21D38", "l0": 14458, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_21D38", "l0": 14459, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rt_21D38", "l0": 14460, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsxy_21D38", "l0": 14462, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_21D38", "l0": 14468, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stlvnl_21D38", "l0": 14476, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg_21D38", "l0": 14484, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stsz_21D38", "l0": 14492, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz_21D38", "l0": 14498, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "SRM221A8", "l0": 14705, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM221A8", "l0": 14713, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "LDV0221A8", "l0": 14719, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "LDV3221A8", "l0": 14722, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "RTPS221A8", "l0": 14728, "action": "deleted", "canonical": "gte_rtps"}, {"name": "RTPT221A8", "l0": 14729, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "STSXY221A8", "l0": 14731, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "STSXY3221A8", "l0": 14734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "STFLG221A8", "l0": 14739, "action": "deleted", "canonical": "gte_stflg"}, {"name": "STSZOTZ221A8", "l0": 14743, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "STSZ221A8", "l0": 14747, "action": "deleted", "canonical": "gte_stsz"}, {"name": "SetRot_80023BF0", "l0": 15922, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "SetTrans_80023BF0", "l0": 15927, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 16629, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 16635, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 16645, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtps", "l0": 16650, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 16651, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 16652, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 16653, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_nccs", "l0": 16654, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stsxy3_f4", "l0": 16656, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy", "l0": 16664, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_strgb", "l0": 16670, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_stopz", "l0": 16676, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 16682, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 16688, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv3", "l0": 16783, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0", "l0": 16793, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldrgb", "l0": 16799, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 16804, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 16805, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 16806, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_nccs", "l0": 16807, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 16809, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 16817, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 16823, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_strgb", "l0": 16829, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_stsxy3_g3", "l0": 16835, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_ldv0", "l0": 16916, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 16922, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 16932, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtps", "l0": 16937, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 16938, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 16939, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 16940, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_nccs", "l0": 16941, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 16943, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 16951, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 16957, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 16963, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_g4", "l0": 16969, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb", "l0": 16977, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_ldv3", "l0": 17087, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 17097, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 17102, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 17103, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 17104, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_ncct", "l0": 17105, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_stflg", "l0": 17107, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 17115, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 17121, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsz3", "l0": 17127, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsxy3_g3", "l0": 17135, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb3_g3", "l0": 17143, "action": "deleted", "canonical": "gte_strgb3_g3"}, {"name": "gte_ldv0", "l0": 17245, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 17246, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 17250, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 17252, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps", "l0": 17253, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_nclip", "l0": 17254, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 17255, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_ncct", "l0": 17256, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_nccs", "l0": 17257, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 17259, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 17260, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 17261, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy2", "l0": 17262, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_strgb2", "l0": 17263, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_stsxy3_g4", "l0": 17264, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb3_g4", "l0": 17266, "action": "deleted", "canonical": "gte_strgb3_g3"}, {"name": "gte_stsz4", "l0": 17268, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_ldv0", "l0": 17394, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 17399, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 17408, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 17412, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 17413, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 17414, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_nccs", "l0": 17415, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 17416, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 17423, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 17428, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_strgb", "l0": 17433, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_stsxy3_g3", "l0": 17438, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_ldv0", "l0": 17571, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 17577, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 17587, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtps", "l0": 17592, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 17593, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 17594, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 17595, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_nccs", "l0": 17596, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 17598, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 17606, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 17612, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 17618, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_strgb", "l0": 17624, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_stsxy3_g4", "l0": 17630, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_ldrgb", "l0": 17904, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_ldv0", "l0": 17909, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 17915, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 17925, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 17926, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 17927, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 17928, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_nccs", "l0": 17929, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 17931, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 17939, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 17945, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 17951, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_ft4", "l0": 17957, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz4", "l0": 17965, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_strgb2", "l0": 17973, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_ldrgb", "l0": 18090, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_ldv3", "l0": 18095, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 18105, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 18106, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 18107, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_ncct", "l0": 18108, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_stflg", "l0": 18110, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 18118, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 18124, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_strgb3_gt3", "l0": 18130, "action": "deleted", "canonical": "gte_strgb3"}, {"name": "gte_ldrgb", "l0": 18206, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_ldv0", "l0": 18211, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 18217, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 18227, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 18228, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 18229, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 18230, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_ncct", "l0": 18231, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_nccs", "l0": 18232, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 18234, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 18242, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 18248, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 18254, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_gt4", "l0": 18260, "action": "deleted", "canonical": "gte_stsxy3_gt4"}, {"name": "gte_strgb", "l0": 18268, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_strgb3", "l0": 18274, "action": "deleted", "canonical": "gte_strgb3"}, {"name": "gte_ldv3", "l0": 19321, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 19331, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 19332, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 19333, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_stflg", "l0": 19335, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 19343, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 19349, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy3_g3", "l0": 19355, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_ldv0", "l0": 19414, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 19419, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 19428, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 19429, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 19430, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 19431, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stflg", "l0": 19433, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stsxy2", "l0": 19439, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_g4", "l0": 19443, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stotz", "l0": 19449, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stopz", "l0": 19453, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv3", "l0": 19540, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 19550, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 19551, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stflg", "l0": 19553, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 19561, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stsxy3_gt3", "l0": 19567, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 19575, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_avsz3", "l0": 19583, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_stotz", "l0": 19585, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_ldv3", "l0": 19708, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0", "l0": 19718, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt", "l0": 19724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps", "l0": 19725, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_nclip", "l0": 19726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 19727, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stflg", "l0": 19729, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 19737, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 19743, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 19749, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_g4", "l0": 19755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz4", "l0": 19763, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_ldv3", "l0": 19936, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 19946, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 19951, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 19952, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_ncct", "l0": 19953, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_stflg", "l0": 19955, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 19963, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stsz3", "l0": 19969, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsxy3_g3", "l0": 19977, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb3_g3", "l0": 19985, "action": "deleted", "canonical": "gte_strgb3_g3"}, {"name": "gte_ldv0", "l0": 20041, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 20047, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 20057, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtps", "l0": 20062, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 20063, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 20064, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_ncct", "l0": 20065, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_nccs", "l0": 20066, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 20068, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 20076, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stsxy", "l0": 20082, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_strgb", "l0": 20088, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_stsz4", "l0": 20094, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stsxy3_g4", "l0": 20103, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb3_g4", "l0": 20111, "action": "deleted", "canonical": "gte_strgb3_g3"}], "direct": [{"line": 145, "action": "none", "why": "no canonical signature"}, {"line": 245, "action": "none", "why": "no canonical signature"}, {"line": 345, "action": "none", "why": "no canonical signature"}, {"line": 875, "action": "none", "why": "no canonical signature"}, {"line": 876, "action": "none", "why": "no canonical signature"}, {"line": 877, "action": "call", "name": "gte_stlvnl"}, {"line": 913, "action": "none", "why": "no canonical signature"}, {"line": 1018, "action": "none", "why": "no canonical signature"}, {"line": 1118, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 1133, "action": "lever", "variant": "gte_ldclmv_m", "delta": ["memory"]}, {"line": 1144, "action": "call", "name": "gte_rtir"}, {"line": 1146, "action": "call", "name": "gte_stclmv"}, {"line": 1157, "action": "lever", "variant": "gte_ldclmv_m", "delta": ["memory"]}, {"line": 1168, "action": "call", "name": "gte_rtir"}, {"line": 1170, "action": "call", "name": "gte_stclmv"}, {"line": 1181, "action": "lever", "variant": "gte_ldclmv_m", "delta": ["memory"]}, {"line": 1192, "action": "call", "name": "gte_rtir"}, {"line": 1194, "action": "call", "name": "gte_stclmv"}, {"line": 1331, "action": "none", "why": "no canonical signature"}, {"line": 4919, "action": "call", "name": "gte_ldv3"}, {"line": 4927, "action": "call", "name": "gte_rtpt"}, {"line": 4931, "action": "call", "name": "gte_stsxy3"}, {"line": 4936, "action": "none", "why": "no canonical signature"}, {"line": 4937, "action": "call", "name": "gte_stflg"}, {"line": 4940, "action": "call", "name": "gte_stszotz"}, {"line": 10431, "action": "none", "why": "no canonical signature"}, {"line": 10498, "action": "lever", "variant": "gte_SetRotTransMatrix_v", "delta": ["$2"]}, {"line": 10873, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 10881, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 10886, "action": "call", "name": "gte_stclmv"}, {"line": 10891, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 10896, "action": "call", "name": "gte_stclmv"}, {"line": 10901, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 10906, "action": "call", "name": "gte_stclmv"}, {"line": 10916, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 10923, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 10928, "action": "call", "name": "gte_stclmv"}, {"line": 10933, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 10938, "action": "call", "name": "gte_stclmv"}, {"line": 10943, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 10948, "action": "call", "name": "gte_stclmv"}, {"line": 10954, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 10961, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 10967, "action": "call", "name": "gte_stlvnl"}, {"line": 10972, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 10978, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 13663, "action": "lever", "variant": "gte_SetRotTransMatrix_m", "delta": ["memory"]}, {"line": 13664, "action": "lever", "variant": "gte_ldlv0_m", "delta": ["memory"]}, {"line": 13665, "action": "lever", "variant": "gte_rtps_m", "delta": ["memory"]}, {"line": 13666, "action": "call", "name": "gte_stsxy"}, {"line": 13667, "action": "call", "name": "gte_stflg"}, {"line": 13668, "action": "call", "name": "gte_stszotz"}, {"line": 15966, "action": "call", "name": "gte_ldv0"}, {"line": 15967, "action": "call", "name": "gte_rtps"}, {"line": 15968, "action": "call", "name": "gte_stsxy"}, {"line": 15969, "action": "none", "why": "no canonical signature"}, {"line": 15970, "action": "call", "name": "gte_stflg"}, {"line": 15971, "action": "call", "name": "gte_stszotz"}, {"line": 18177, "action": "call", "name": "gte_stsxy3_gt4"}], "kept": 0, "variants_freed": 16, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/md_MAIN_034/md_MAIN_034.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1626429557800293, "record": {"deleted": 94, "renamed_defs": 0, "use_renames": 8, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 182, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 188, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 198, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 203, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 204, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 205, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_nccs", "l0": 206, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 208, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 216, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 222, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy3_f3", "l0": 228, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_strgb", "l0": 236, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_ldv0", "l0": 325, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 331, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 341, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtps", "l0": 346, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 347, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 348, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 349, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_nccs", "l0": 350, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 352, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 360, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 366, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 372, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_f4", "l0": 378, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_strgb", "l0": 386, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_ldv3", "l0": 471, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 481, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 486, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 487, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 488, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_ncct", "l0": 489, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_stflg", "l0": 491, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 499, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 505, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy3_flat", "l0": 511, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb3_flat", "l0": 519, "action": "deleted", "canonical": "gte_strgb3_g3"}, {"name": "gte_ldv0", "l0": 597, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldrgb", "l0": 603, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_ldv3", "l0": 608, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 618, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 619, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 620, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 621, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_ncct", "l0": 622, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_nccs", "l0": 623, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 625, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 633, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 639, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 645, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_gt4", "l0": 651, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb", "l0": 659, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_strgb3_gt4", "l0": 665, "action": "deleted", "canonical": "gte_strgb3_g3"}, {"name": "gte_ldv0", "l0": 766, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 772, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 782, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtps", "l0": 787, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 788, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 789, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 790, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_nccs", "l0": 791, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 793, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 801, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 807, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 813, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_ft4", "l0": 819, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_strgb", "l0": 827, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_ldv3", "l0": 947, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldrgb", "l0": 957, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_rtpt", "l0": 962, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 963, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 964, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_ncct", "l0": 965, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_stflg", "l0": 967, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 975, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 981, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy3_gt3", "l0": 987, "action": "deleted", "canonical": "gte_stsxy3_gt4"}, {"name": "gte_strgb3_gt3", "l0": 995, "action": "deleted", "canonical": "gte_strgb3"}, {"name": "gte_ldv0", "l0": 1051, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldrgb", "l0": 1057, "action": "deleted", "canonical": "gte_ldrgb"}, {"name": "gte_ldv3", "l0": 1062, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 1072, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 1073, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 1074, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz4", "l0": 1075, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_ncct", "l0": 1076, "action": "deleted", "canonical": "gte_ncct"}, {"name": "gte_nccs", "l0": 1077, "action": "deleted", "canonical": "gte_nccs"}, {"name": "gte_stflg", "l0": 1079, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 1087, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_stotz", "l0": 1093, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stsxy", "l0": 1099, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_gt4", "l0": 1105, "action": "deleted", "canonical": "gte_stsxy3_gt4"}, {"name": "gte_strgb", "l0": 1113, "action": "deleted", "canonical": "gte_strgb"}, {"name": "gte_strgb3", "l0": 1119, "action": "deleted", "canonical": "gte_strgb3"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3885359764099121, "record": {"deleted": 74, "renamed_defs": 0, "use_renames": 4, "direct_calls": 1, "direct_levers": 1, "direct_none": 1, "marked": 1, "defs": [{"name": "gte_ldv0", "l0": 2849, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2855, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2865, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2875, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2876, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2877, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2879, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2885, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2893, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2901, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2909, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2917, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2925, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2933, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2942, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2951, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2959, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 6047, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6061, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldclmv", "l0": 6071, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_rtir", "l0": 6081, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stclmv", "l0": 6082, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_ldlv0", "l0": 6092, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rt", "l0": 6102, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 6103, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_SetRotMatrix", "l0": 6242, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6256, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 6361, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6375, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 7075, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 7090, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 7101, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 7107, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 7109, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 7115, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stszotz", "l0": 7123, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_SetRotMatrix", "l0": 7816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 7830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldclmv", "l0": 7840, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_rtir", "l0": 7850, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stclmv", "l0": 7851, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_ldlv0", "l0": 7861, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rt", "l0": 7871, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 7872, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_ldv0", "l0": 8055, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 8061, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 8071, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 8072, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 8077, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 8079, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 8085, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 8093, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 8099, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 8437, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 8438, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 8439, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 8440, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stszotz", "l0": 8441, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_SetRotMatrix", "l0": 8442, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8454, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 8646, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 8652, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 8662, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 8663, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 8664, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 8666, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 8672, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 8680, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 8686, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 8912, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 8918, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 8920, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 8926, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 8935, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 6647, "action": "lever", "variant": "gte_SetRotTransMatrix_m", "delta": ["memory"]}, {"line": 7268, "action": "none", "why": "no canonical signature"}, {"line": 7276, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.22297978401184082, "record": {"deleted": 67, "renamed_defs": 0, "use_renames": 30, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2698, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2724, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2725, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2766, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2774, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2782, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2791, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2800, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2808, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2834, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2839, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2848, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2849, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2850, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2856, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2863, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2870, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2877, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2884, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2892, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2900, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2907, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2912, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2917, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2926, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2927, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2928, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2929, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2934, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2941, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2948, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2955, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2962, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2970, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2978, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2985, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3881, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3894, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix_1", "l0": 4398, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_1", "l0": 4411, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldclmv_1", "l0": 4420, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_rtir_1", "l0": 4429, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stclmv_1", "l0": 4431, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_ldlv0_1", "l0": 4440, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rt_1", "l0": 4449, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl_1", "l0": 4451, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_ldv3_1", "l0": 4457, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0_1", "l0": 4466, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt_1", "l0": 4471, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps_1", "l0": 4472, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_avsz4_1", "l0": 4473, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stflg_1", "l0": 4475, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stsxy3_1", "l0": 4481, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy_1", "l0": 4487, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stotz_1", "l0": 4491, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_SetRotMatrix_1", "l0": 4674, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_1", "l0": 4687, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix_1", "l0": 4836, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_1", "l0": 4849, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 5253, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 1.0217339992523193, "record": {"deleted": 66, "renamed_defs": 0, "use_renames": 0, "direct_calls": 2, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 6075, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 6077, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 6081, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 6082, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 6083, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 6085, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_avsz4", "l0": 6088, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stotz", "l0": 6089, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 6091, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6247, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6252, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6253, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6258, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6266, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6273, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6278, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6279, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6284, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6292, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6299, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6304, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6305, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6310, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6318, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6325, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6327, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6328, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 6330, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6332, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6337, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6338, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6343, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6351, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6704, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6709, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6710, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6715, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6723, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 6730, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6744, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 6754, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6759, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6760, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 6765, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 6770, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6778, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 11374, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 11376, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 11380, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 11381, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 11382, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 11384, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_avsz4", "l0": 11387, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stotz", "l0": 11388, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 11390, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 11483, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 11488, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 11489, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 11494, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 11502, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 11509, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv0", "l0": 11513, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 11518, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 11519, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 11524, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 11532, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 3602, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 3617, "action": "call", "name": "gte_SetTransMatrix"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 9, "seconds": 4.287333726882935, "record": {"deleted": 55, "renamed_defs": 0, "use_renames": 13, "direct_calls": 2, "direct_levers": 6, "direct_none": 1, "marked": 6, "defs": [{"name": "gte_ldv0", "l0": 3434, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 3438, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 3443, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4068, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4072, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4077, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4085, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4089, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4094, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4102, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv0", "l0": 4824, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 4830, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 4840, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4841, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 4842, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 4844, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4850, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 4858, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_g3", "l0": 4866, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 4874, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 4882, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 4891, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4900, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 4908, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 5391, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 5397, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 5407, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5408, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 5409, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 5411, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5417, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 5425, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 5433, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 5441, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 5449, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 5458, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5467, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 5475, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 8016, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_ldv0", "l0": 8030, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0", "l0": 8034, "action": "deleted", "canonical": "gte_rtv0"}, {"name": "gte_stsv", "l0": 8039, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 11633, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 11638, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 11639, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 11644, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 11652, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 11659, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 11673, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 11683, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 11688, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 11689, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 11694, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 11699, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 11707, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 7900, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 7906, "action": "lever", "variant": "gte_ldv0_m", "delta": ["memory"]}, {"line": 7907, "action": "lever", "variant": "gte_rtv0_m", "delta": ["memory"]}, {"line": 7908, "action": "call", "name": "gte_stsv"}, {"line": 8445, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 8458, "action": "lever", "variant": "gte_ldv0_m", "delta": ["memory"]}, {"line": 8460, "action": "lever", "variant": "gte_rtv0_m", "delta": ["memory"]}, {"line": 8461, "action": "call", "name": "gte_stsv"}, {"line": 10065, "action": "none", "why": "no canonical signature"}], "kept": 0, "variants_freed": 8, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.3813579082489014, "record": {"deleted": 58, "renamed_defs": 0, "use_renames": 39, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2674, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2680, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2690, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2700, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2701, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2702, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2704, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2710, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2718, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2750, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2758, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2767, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2776, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2784, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 5609, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 5614, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 5620, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 6142, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 6147, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 6156, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 6157, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 6158, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 6163, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 6170, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6178, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6185, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 6190, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 6199, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 6200, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 6201, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 6206, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 6213, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6221, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 8102, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8116, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0_801837B0", "l0": 9727, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_801837B0", "l0": 9732, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_801837B0", "l0": 9741, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_801837B0", "l0": 9742, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_801837B0", "l0": 9743, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_801837B0", "l0": 9744, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_801837B0", "l0": 9749, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_801837B0", "l0": 9756, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801837B0", "l0": 9761, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_801837B0", "l0": 9768, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_801837B0", "l0": 9782, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv3_801843D8", "l0": 10283, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0_801843D8", "l0": 10292, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt_801843D8", "l0": 10297, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps_801843D8", "l0": 10298, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_avsz4_801843D8", "l0": 10299, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy3_801843D8", "l0": 10300, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy_801843D8", "l0": 10307, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stotz_801843D8", "l0": 10312, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801843D8", "l0": 10317, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.3435487747192383, "record": {"deleted": 58, "renamed_defs": 0, "use_renames": 39, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2675, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2681, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2691, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2701, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2702, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2703, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2705, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2711, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2751, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2759, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2768, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2777, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2785, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 5230, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5235, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 5244, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5245, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 5246, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5251, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 5258, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5266, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 5273, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5278, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 5287, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5288, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 5289, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5294, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 5301, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5309, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0_801837B0", "l0": 6987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_801837B0", "l0": 6992, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_801837B0", "l0": 7001, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_801837B0", "l0": 7002, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_801837B0", "l0": 7003, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_801837B0", "l0": 7004, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_801837B0", "l0": 7009, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_801837B0", "l0": 7016, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801837B0", "l0": 7021, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_801837B0", "l0": 7028, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_801837B0", "l0": 7042, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv3_801843D8", "l0": 7543, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0_801843D8", "l0": 7552, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt_801843D8", "l0": 7557, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps_801843D8", "l0": 7558, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_avsz4_801843D8", "l0": 7559, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy3_801843D8", "l0": 7560, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy_801843D8", "l0": 7567, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stotz_801843D8", "l0": 7572, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801843D8", "l0": 7577, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 8755, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8769, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 9351, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 9356, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 9362, "action": "deleted", "canonical": "gte_stsv"}], "direct": [], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_112/ov_SC03_112_jr_8017C294.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.6460907459259033, "record": {"deleted": 50, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2703, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2709, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2719, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2729, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2730, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2731, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2763, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2771, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2779, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2787, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2796, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2805, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2813, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2822, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2827, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2836, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2837, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2838, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2839, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2844, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2851, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2858, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2865, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2872, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2880, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2888, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2895, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2900, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2905, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2914, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2915, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2916, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2917, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2922, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2929, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2936, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2943, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2950, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2957, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2965, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2972, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3965, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3980, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 3991, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 3997, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 3999, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 4007, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 4465, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_113/ov_SC03_113_jr_8017C294.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 8, "seconds": 2.5865907669067383, "record": {"deleted": 50, "renamed_defs": 0, "use_renames": 8, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2691, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2697, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2707, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2717, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2718, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2719, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2721, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2759, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2767, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2775, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2784, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2793, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2801, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2810, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2815, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2824, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2825, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2826, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2827, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2832, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2839, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2846, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2853, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2860, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2868, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2876, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2883, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2888, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2893, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2902, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2903, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2904, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2905, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2910, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2917, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2924, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2931, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2938, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2945, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2953, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2960, "action": "deleted", "canonical": "gte_stopz"}, {"name": "SRM_80186B78", "l0": 5468, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 5480, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 5901, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 5913, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 5921, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 5933, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 7, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.4093742370605469, "record": {"deleted": 38, "renamed_defs": 0, "use_renames": 0, "direct_calls": 4, "direct_levers": 6, "direct_none": 0, "marked": 6, "defs": [{"name": "gte_ldv0", "l0": 2689, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2695, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2705, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2715, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2716, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2717, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2757, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2765, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2773, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2782, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2791, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2799, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2926, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2932, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2942, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2952, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2953, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2954, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2962, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2970, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 2978, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2986, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2995, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3004, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3012, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4692, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4706, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4716, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4730, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 6372, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6386, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 6396, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6410, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 6480, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 6488, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6494, "action": "call", "name": "gte_stclmv"}, {"line": 6501, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6507, "action": "call", "name": "gte_stclmv"}, {"line": 6514, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6520, "action": "call", "name": "gte_stclmv"}, {"line": 6527, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 6535, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 6542, "action": "call", "name": "gte_stlvnl"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.33782196044921875, "record": {"deleted": 35, "renamed_defs": 0, "use_renames": 10, "direct_calls": 5, "direct_levers": 7, "direct_none": 1, "marked": 7, "defs": [{"name": "gte_ldv0", "l0": 3498, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3504, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3514, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3524, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3525, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3526, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3527, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3528, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3530, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3536, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3544, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3552, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3560, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3568, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3577, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3585, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 5171, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5185, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 5196, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 5201, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 5202, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 5207, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 5594, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5609, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv3", "l0": 5620, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 5630, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy3", "l0": 5632, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_SetRotMatrix", "l0": 6529, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6543, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotTransMatrix_A60", "l0": 6765, "action": "deleted", "canonical": "gte_SetRotTransMatrix"}, {"name": "gte_ldv0_A60", "l0": 6785, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps_A60", "l0": 6790, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy_A60", "l0": 6791, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg_A60", "l0": 6796, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stszotz_A60", "l0": 6803, "action": "deleted", "canonical": "gte_stszotz"}], "direct": [{"line": 5405, "action": "lever", "variant": "gte_ldv0+gte_rtps_m", "delta": ["memory"]}, {"line": 5414, "action": "call", "name": "gte_stsxy"}, {"line": 5417, "action": "none", "why": "no canonical signature"}, {"line": 6619, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 6627, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6632, "action": "call", "name": "gte_stclmv"}, {"line": 6639, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6645, "action": "call", "name": "gte_stclmv"}, {"line": 6652, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6658, "action": "call", "name": "gte_stclmv"}, {"line": 6665, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 6673, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 6680, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:26", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_002/ov_SC05_002_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.4232473373413086, "record": {"deleted": 46, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2696, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2712, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2722, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2723, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2724, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2748, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2756, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2764, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2772, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2780, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2789, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2798, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2806, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2815, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2820, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2829, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2830, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2831, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2832, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2837, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2844, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2851, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2858, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2865, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2873, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2881, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2888, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2893, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2898, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2907, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2908, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2909, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2910, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2915, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2922, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2929, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2936, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2943, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2950, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2958, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2965, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4877, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4891, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:26", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.4033694267272949, "record": {"deleted": 45, "renamed_defs": 0, "use_renames": 42, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2701, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2707, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2717, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2727, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2728, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2729, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2769, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2777, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2785, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2794, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2803, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2811, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0_2", "l0": 3072, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_2", "l0": 3078, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_2", "l0": 3088, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_2", "l0": 3089, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_2", "l0": 3090, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_2", "l0": 3092, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy0_2", "l0": 3098, "action": "deleted", "canonical": "gte_stsxy0"}, {"name": "gte_stsxy1_2", "l0": 3104, "action": "deleted", "canonical": "gte_stsxy1"}, {"name": "gte_stsxy3_2", "l0": 3110, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_2", "l0": 3118, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stszotz_2", "l0": 3124, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg_2", "l0": 3133, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_1", "l0": 7051, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_1", "l0": 7063, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldclmv_1", "l0": 7071, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_rtir_1", "l0": 7079, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stclmv_1", "l0": 7080, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_ldlv0_1", "l0": 7088, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rt_1", "l0": 7096, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl_1", "l0": 7097, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_ldv3_1", "l0": 7102, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0_1", "l0": 7110, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt_1", "l0": 7114, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps_1", "l0": 7115, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_avsz4_1", "l0": 7116, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stflg_1", "l0": 7117, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stsxy3_1", "l0": 7122, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy_1", "l0": 7127, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stotz_1", "l0": 7130, "action": "deleted", "canonical": "gte_stotz"}], "direct": [{"line": 8499, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 6, "seconds": 3.6396279335021973, "record": {"deleted": 46, "renamed_defs": 0, "use_renames": 11, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetTransMatrix", "l0": 8521, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 8532, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_ldv0", "l0": 8547, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 8553, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 8555, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 8563, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 8623, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 8627, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 8632, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 8637, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 8642, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8654, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "GTE_SMR", "l0": 11662, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "GTE_LDV0", "l0": 11668, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "GTE_RTV0", "l0": 11671, "action": "deleted", "canonical": "gte_rtv0"}, {"name": "GTE_STSV", "l0": 11673, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 16204, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 16209, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 16210, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 16215, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 16223, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 16230, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 16244, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 16254, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 16259, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 16260, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 16265, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 16270, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 16278, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 5, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.5600097179412842, "record": {"deleted": 44, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2693, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2709, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2719, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2720, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2721, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2761, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2769, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2777, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2786, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2795, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2803, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2812, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2817, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2826, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2827, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2828, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2829, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2834, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2841, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2848, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2855, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2862, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2870, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2878, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2885, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2890, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2895, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2904, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2905, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2906, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2907, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2912, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2919, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2926, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2933, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2940, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2947, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2955, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2962, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 5902, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.405242919921875, "record": {"deleted": 34, "renamed_defs": 0, "use_renames": 0, "direct_calls": 4, "direct_levers": 6, "direct_none": 0, "marked": 6, "defs": [{"name": "gte_ldv0", "l0": 2692, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2698, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2708, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2718, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2719, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2720, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2760, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2768, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2776, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2785, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2794, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2802, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2929, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2935, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2945, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2956, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2957, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2959, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2965, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2973, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 2981, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2989, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2998, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3007, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3015, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4729, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4743, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4753, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4767, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 6453, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 6461, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6467, "action": "call", "name": "gte_stclmv"}, {"line": 6474, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6480, "action": "call", "name": "gte_stclmv"}, {"line": 6487, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 6493, "action": "call", "name": "gte_stclmv"}, {"line": 6500, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 6508, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 6515, "action": "call", "name": "gte_stlvnl"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 9, "seconds": 2.9858007431030273, "record": {"deleted": 43, "renamed_defs": 0, "use_renames": 9, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2716, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2722, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2732, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2742, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2743, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2744, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2760, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2768, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2776, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2784, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2792, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2800, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2809, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2818, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2826, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3191, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv0", "l0": 3195, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 3200, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3209, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3210, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3211, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3212, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3217, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3224, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 3231, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 3238, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3245, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3252, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3260, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3267, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv3", "l0": 4149, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 4160, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy3", "l0": 4163, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "SRM_80186B78", "l0": 4824, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 4836, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 5260, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 5272, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 5280, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 5292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 6463, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6477, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 4311, "action": "none", "why": "no canonical signature"}], "kept": 0, "variants_freed": 8, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3095545768737793, "record": {"deleted": 43, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 3739, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3753, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv3", "l0": 6165, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 6175, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stflg", "l0": 6177, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stsxy3", "l0": 6185, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_ldv0", "l0": 6193, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6199, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6201, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_avsz4", "l0": 6207, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stotz", "l0": 6209, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_ldv0", "l0": 6379, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6385, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6387, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6393, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6402, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6750, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6755, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6756, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6761, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6769, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 6776, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6790, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 6800, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6805, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6806, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 6811, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 6816, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6824, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 8507, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 8509, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 8513, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 8514, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 8515, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 8517, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_avsz4", "l0": 8520, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stotz", "l0": 8521, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 8523, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 8619, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 8625, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 8627, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 8633, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 8642, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.1104252338409424, "record": {"deleted": 41, "renamed_defs": 0, "use_renames": 38, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2685, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2691, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2711, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2712, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2713, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2715, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2721, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2753, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2761, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2769, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2778, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2787, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2795, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 4735, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4740, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4746, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_SetRotMatrix", "l0": 6433, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6447, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0_801837B0", "l0": 7909, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_801837B0", "l0": 7915, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_801837B0", "l0": 7925, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_801837B0", "l0": 7926, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_801837B0", "l0": 7927, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_801837B0", "l0": 7929, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_801837B0", "l0": 7935, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_801837B0", "l0": 7943, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801837B0", "l0": 7949, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_801837B0", "l0": 7957, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_801837B0", "l0": 7972, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv3_801843D8", "l0": 8539, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0_801843D8", "l0": 8549, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt_801843D8", "l0": 8555, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps_801843D8", "l0": 8556, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_avsz4_801843D8", "l0": 8557, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy3_801843D8", "l0": 8559, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy_801843D8", "l0": 8567, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stotz_801843D8", "l0": 8573, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801843D8", "l0": 8579, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 1, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.2935373783111572, "record": {"deleted": 40, "renamed_defs": 0, "use_renames": 39, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2675, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2681, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2691, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2701, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2702, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2703, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2705, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2711, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2751, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2759, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2768, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2777, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2785, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 6036, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 6041, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 6047, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0_801837B0", "l0": 10401, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_801837B0", "l0": 10406, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_801837B0", "l0": 10415, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_801837B0", "l0": 10416, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_801837B0", "l0": 10417, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_801837B0", "l0": 10418, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_801837B0", "l0": 10423, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_801837B0", "l0": 10430, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801837B0", "l0": 10435, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_801837B0", "l0": 10442, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_801837B0", "l0": 10456, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv3_801843D8", "l0": 10957, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv0_801843D8", "l0": 10966, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtpt_801843D8", "l0": 10971, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_rtps_801843D8", "l0": 10972, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_avsz4_801843D8", "l0": 10973, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy3_801843D8", "l0": 10974, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy_801843D8", "l0": 10981, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stotz_801843D8", "l0": 10986, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_801843D8", "l0": 10991, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.2270550727844238, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 6, "direct_calls": 14, "direct_levers": 0, "direct_none": 4, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2686, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2692, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2712, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2713, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2714, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2754, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2762, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2770, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2779, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2788, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2796, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3845, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 3850, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 3856, "action": "deleted", "canonical": "gte_stsv"}], "direct": [{"line": 3078, "action": "none", "why": "no canonical signature"}, {"line": 3086, "action": "none", "why": "no canonical signature"}, {"line": 3103, "action": "none", "why": "no canonical signature"}, {"line": 3111, "action": "none", "why": "no canonical signature"}, {"line": 8152, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 8166, "action": "call", "name": "gte_ldclmv"}, {"line": 8174, "action": "call", "name": "gte_rtir"}, {"line": 8175, "action": "call", "name": "gte_stclmv"}, {"line": 8185, "action": "call", "name": "gte_ldclmv"}, {"line": 8193, "action": "call", "name": "gte_rtir"}, {"line": 8194, "action": "call", "name": "gte_stclmv"}, {"line": 8204, "action": "call", "name": "gte_ldclmv"}, {"line": 8212, "action": "call", "name": "gte_rtir"}, {"line": 8213, "action": "call", "name": "gte_stclmv"}, {"line": 8223, "action": "call", "name": "gte_SetTransMatrix"}, {"line": 8233, "action": "call", "name": "gte_ldlv0"}, {"line": 8241, "action": "call", "name": "gte_rtv0tr"}, {"line": 8242, "action": "call", "name": "gte_stlvnl"}], "kept": 1, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:31", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2608225345611572, "record": {"deleted": 36, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2693, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2709, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2719, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2720, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2721, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2761, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2769, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2777, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2786, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2795, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2803, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3623, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3637, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3647, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3661, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 5345, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5350, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 5359, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5360, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 5361, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5366, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 5373, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5381, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 5388, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5393, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 5402, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5403, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 5404, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5409, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 5416, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5424, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:31", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.44380950927734375, "record": {"deleted": 37, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2686, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2692, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2712, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2713, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2714, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2762, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2770, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2779, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2788, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2796, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3279, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3285, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3295, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3305, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3306, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3307, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3309, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3315, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3323, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 3331, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3339, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3348, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3357, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3365, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4337, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4351, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 5121, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5135, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 5145, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5159, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:31", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.7318923473358154, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 6, "direct_calls": 14, "direct_levers": 0, "direct_none": 2, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2682, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2688, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2698, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2708, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2709, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2710, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2712, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2718, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2750, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2758, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2766, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2775, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2784, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2792, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3803, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 3808, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 3814, "action": "deleted", "canonical": "gte_stsv"}], "direct": [{"line": 3067, "action": "none", "why": "no canonical signature"}, {"line": 3075, "action": "none", "why": "no canonical signature"}, {"line": 4798, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 4812, "action": "call", "name": "gte_ldclmv"}, {"line": 4820, "action": "call", "name": "gte_rtir"}, {"line": 4821, "action": "call", "name": "gte_stclmv"}, {"line": 4831, "action": "call", "name": "gte_ldclmv"}, {"line": 4839, "action": "call", "name": "gte_rtir"}, {"line": 4840, "action": "call", "name": "gte_stclmv"}, {"line": 4850, "action": "call", "name": "gte_ldclmv"}, {"line": 4858, "action": "call", "name": "gte_rtir"}, {"line": 4859, "action": "call", "name": "gte_stclmv"}, {"line": 4869, "action": "call", "name": "gte_SetTransMatrix"}, {"line": 4879, "action": "call", "name": "gte_ldlv0"}, {"line": 4887, "action": "call", "name": "gte_rtv0tr"}, {"line": 4888, "action": "call", "name": "gte_stlvnl"}], "kept": 1, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/md_SC07_004/md_SC07_004.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.8327064514160156, "record": {"deleted": 33, "renamed_defs": 0, "use_renames": 28, "direct_calls": 0, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 4019, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4020, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4021, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4022, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 4023, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 4024, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4025, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 4026, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 4027, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0_801A8B64", "l0": 5962, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps_801A8B64", "l0": 5968, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy_801A8B64", "l0": 5970, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix_E38", "l0": 10440, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_E38", "l0": 10447, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_mulcol_E38", "l0": 10454, "action": "deleted", "canonical": "gte_mulcol"}, {"name": "gte_multrans_E38", "l0": 10463, "action": "deleted", "canonical": "gte_multrans"}, {"name": "gte_ldv0_E38", "l0": 10471, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_E38", "l0": 10472, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_E38", "l0": 10477, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_E38", "l0": 10478, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_E38", "l0": 10479, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_E38", "l0": 10480, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_E38", "l0": 10481, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_E38", "l0": 10484, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_E38", "l0": 10485, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 10726, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 10741, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 10752, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 10758, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 10760, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 10766, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 10772, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 10781, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 5989, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 5997, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7167415618896484, "record": {"deleted": 31, "renamed_defs": 0, "use_renames": 9, "direct_calls": 1, "direct_levers": 2, "direct_none": 1, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 2711, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2717, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2727, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2737, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2738, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2739, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2763, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2771, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2779, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2787, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2795, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2804, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2813, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2821, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4174, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4188, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 5094, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5108, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 5376, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5390, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 5400, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 5405, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 5406, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 5411, "action": "deleted", "canonical": "gte_stflg"}, {"name": "GTE_LDXY_8018209C", "l0": 5525, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "GTE_RTPS_8018209C", "l0": 5526, "action": "deleted", "canonical": "gte_rtps"}, {"name": "GTE_STXY_8018209C", "l0": 5527, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "GTE_STFLG_8018209C", "l0": 5528, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 5548, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 5554, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 6189, "action": "none", "why": "no canonical signature"}, {"line": 6192, "action": "call", "name": "gte_stflg"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.48310303688049316, "record": {"deleted": 34, "renamed_defs": 0, "use_renames": 3, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3939, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3953, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4377, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4391, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 4401, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4406, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4415, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4416, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4417, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy0_80180B3C", "l0": 4422, "action": "deleted", "canonical": "gte_stsxy0"}, {"name": "gte_stsxy1_80180B3C", "l0": 4427, "action": "deleted", "canonical": "gte_stsxy1"}, {"name": "gte_stsz_80180B3C", "l0": 4432, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 4437, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4445, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 7047, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 7061, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 7071, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 7085, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:33", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.6704995632171631, "record": {"deleted": 34, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2871, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 2877, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2887, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2888, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2889, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2891, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2897, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2905, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 2913, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 2921, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2929, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2937, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2946, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2954, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4028, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4042, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4052, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4066, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:33", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3056356906890869, "record": {"deleted": 34, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3863, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3868, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 3877, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3878, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 3879, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3884, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 3891, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3899, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 3906, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3911, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 3920, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3921, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 3922, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3927, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 3934, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3942, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 6503, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6517, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:34", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20285940170288086, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 16, "direct_levers": 0, "direct_none": 2, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2686, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2692, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2712, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2713, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2714, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2754, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2762, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2770, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2779, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2788, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2796, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 3195, "action": "none", "why": "no canonical signature"}, {"line": 3203, "action": "call", "name": "gte_stlvnl"}, {"line": 3232, "action": "none", "why": "no canonical signature"}, {"line": 3240, "action": "call", "name": "gte_stlvnl"}, {"line": 4150, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 4164, "action": "call", "name": "gte_ldclmv"}, {"line": 4172, "action": "call", "name": "gte_rtir"}, {"line": 4173, "action": "call", "name": "gte_stclmv"}, {"line": 4183, "action": "call", "name": "gte_ldclmv"}, {"line": 4191, "action": "call", "name": "gte_rtir"}, {"line": 4192, "action": "call", "name": "gte_stclmv"}, {"line": 4202, "action": "call", "name": "gte_ldclmv"}, {"line": 4210, "action": "call", "name": "gte_rtir"}, {"line": 4211, "action": "call", "name": "gte_stclmv"}, {"line": 4221, "action": "call", "name": "gte_SetTransMatrix"}, {"line": 4231, "action": "call", "name": "gte_ldlv0"}, {"line": 4239, "action": "call", "name": "gte_rtv0tr"}, {"line": 4240, "action": "call", "name": "gte_stlvnl"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:35", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.4146909713745117, "record": {"deleted": 33, "renamed_defs": 0, "use_renames": 6, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3543, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 3549, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3559, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3560, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3561, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3563, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3569, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3577, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 3585, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 3593, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3601, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3610, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3619, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3627, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 4041, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 4047, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 4057, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4058, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 4059, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 4061, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4067, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 4075, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 4083, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 4091, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 4099, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 4108, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4117, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 4125, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 4916, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4921, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4927, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_SetRotMatrix", "l0": 10541, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 10555, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:35", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.8559727668762207, "record": {"deleted": 32, "renamed_defs": 0, "use_renames": 24, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2688, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2694, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2714, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2715, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2716, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2718, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2724, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2748, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2756, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2764, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2772, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2781, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2790, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2798, "action": "deleted", "canonical": "gte_stopz"}, {"name": "ec4c_SetRotMatrix", "l0": 4134, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "ec4c_SetTransMatrix", "l0": 4147, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "ec4c_rotcol", "l0": 4156, "action": "deleted", "canonical": "gte_mulcol"}, {"name": "ec4c_rottrans", "l0": 4174, "action": "deleted", "canonical": "gte_multrans"}, {"name": "ec4c_ldv3", "l0": 4189, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "ec4c_ldv0", "l0": 4198, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "ec4c_rtpt", "l0": 4203, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "ec4c_rtps", "l0": 4204, "action": "deleted", "canonical": "gte_rtps"}, {"name": "ec4c_avsz4", "l0": 4205, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "ec4c_stflg", "l0": 4207, "action": "deleted", "canonical": "gte_stflg"}, {"name": "ec4c_stsxy3", "l0": 4213, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "ec4c_stsxy", "l0": 4219, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "ec4c_stotz", "l0": 4223, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_ldv0", "l0": 6056, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 6061, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 6067, "action": "deleted", "canonical": "gte_stsv"}], "direct": [], "kept": 1, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 6, "seconds": 0.9630341529846191, "record": {"deleted": 32, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2737, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2743, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2753, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2763, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2764, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2765, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2767, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2773, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2781, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2789, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2797, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2805, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2813, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2821, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2830, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2839, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2847, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3213, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv0", "l0": 3217, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 3222, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3231, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3232, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3233, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3234, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3239, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3246, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 3253, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 3260, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3267, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3274, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3282, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3289, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 4, "seconds": 0.7697608470916748, "record": {"deleted": 31, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2703, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2709, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2719, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2729, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2730, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2731, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2763, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2771, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2779, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2787, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2796, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2805, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2813, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3317, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 3323, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3333, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3334, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3335, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3337, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3343, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3351, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 3359, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 3367, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3375, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3383, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3392, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3400, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_091/ov_SC03_091_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.27900123596191406, "record": {"deleted": 30, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2709, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2715, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2725, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2735, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2736, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2737, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2769, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2777, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2785, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2793, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2802, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2811, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2819, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2946, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2952, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2962, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2972, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2973, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2974, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2976, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2982, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2990, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 2998, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3006, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3015, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3024, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3032, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.26887059211730957, "record": {"deleted": 30, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2700, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2706, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2716, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2726, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2727, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2728, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2760, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2768, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2776, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2784, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2793, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2802, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2810, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 2937, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2943, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2953, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2963, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2964, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2965, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2967, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2973, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2981, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 2989, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2997, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3006, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3015, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3023, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.19366002082824707, "record": {"deleted": 31, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2698, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2724, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2725, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2766, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2774, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2782, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2791, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2800, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2808, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3230, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 3236, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3246, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3247, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3248, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3250, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3256, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3264, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 3272, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 3280, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3288, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3297, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3306, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3314, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:38", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_104/ov_SC03_104_jr_80182038.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1993560791015625, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 4, "direct_levers": 6, "direct_none": 0, "marked": 6, "defs": [{"name": "gte_SetRotMatrix", "l0": 3367, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3381, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3391, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3405, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 4770, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4775, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4784, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4785, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4786, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4791, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 4798, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4806, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 4813, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4818, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4827, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4828, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4829, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4834, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 4841, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4849, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 3475, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 3483, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 3489, "action": "call", "name": "gte_stclmv"}, {"line": 3496, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 3502, "action": "call", "name": "gte_stclmv"}, {"line": 3509, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 3515, "action": "call", "name": "gte_stclmv"}, {"line": 3522, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 3530, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 3537, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:38", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8260698318481445, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 824, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 838, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 848, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 858, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 859, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 939, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 953, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 963, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 964, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 969, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 983, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 993, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 998, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 999, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1004, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1011, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1025, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1035, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1040, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2274, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2288, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2298, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2312, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2322, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2327, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2334, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2341, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2676, "action": "none", "why": "no canonical signature"}, {"line": 2684, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7764632701873779, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2274, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2288, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2298, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2312, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2322, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2327, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2334, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2341, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2676, "action": "none", "why": "no canonical signature"}, {"line": 2684, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9293403625488281, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 4, "seconds": 1.6283235549926758, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 809, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 823, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 833, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 843, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 844, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 924, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 938, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 948, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 949, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 954, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 968, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 978, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 983, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 984, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 989, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 996, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1010, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1020, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1025, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2267, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2281, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2291, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2305, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2315, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2320, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2327, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2334, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2669, "action": "none", "why": "no canonical signature"}, {"line": 2677, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7783653736114502, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7457911968231201, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8072783946990967, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8774504661560059, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:40", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7918341159820557, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:40", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 4, "seconds": 1.6703581809997559, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 814, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 828, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 838, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 848, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 849, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 929, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 943, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 953, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 954, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 959, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 973, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 983, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 988, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 989, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 994, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1001, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1015, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1025, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1030, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2272, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2286, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2296, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2310, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2320, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2325, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2332, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2339, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2674, "action": "none", "why": "no canonical signature"}, {"line": 2682, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:40", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8248891830444336, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7676148414611816, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7530508041381836, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8643109798431396, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7865736484527588, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8317525386810303, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9067647457122803, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.917421817779541, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7345099449157715, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9964377880096436, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7695152759552002, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8247652053833008, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2275, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2289, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2299, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2313, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2335, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2342, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2677, "action": "none", "why": "no canonical signature"}, {"line": 2685, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_037/ov_SC02_037.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3457167148590088, "record": {"deleted": 29, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1539, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1553, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1563, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1573, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1574, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1579, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1593, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1603, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1604, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1609, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1623, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1633, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1634, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1639, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1653, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1736, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1750, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1760, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1761, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1766, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1780, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1790, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1795, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1796, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1801, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1808, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1822, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1832, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1837, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7303926944732666, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7978851795196533, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8692803382873535, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2274, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2288, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2298, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2312, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2322, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2327, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2334, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2341, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2676, "action": "none", "why": "no canonical signature"}, {"line": 2684, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8458704948425293, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 820, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 834, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 844, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 854, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 855, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 935, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 949, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 959, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 960, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 965, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 979, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 989, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 994, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 995, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1000, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1007, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1021, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1031, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1036, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2278, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2302, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2316, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2326, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2331, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2338, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2345, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2680, "action": "none", "why": "no canonical signature"}, {"line": 2688, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9856290817260742, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8446643352508545, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 820, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 834, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 844, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 854, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 855, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 935, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 949, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 959, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 960, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 965, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 979, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 989, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 994, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 995, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1000, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1007, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1021, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1031, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1036, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2278, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2302, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2316, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2326, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2331, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2338, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2345, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2680, "action": "none", "why": "no canonical signature"}, {"line": 2688, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8601710796356201, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8460357189178467, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9058916568756104, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8163092136383057, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9092080593109131, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 4, "seconds": 1.5668931007385254, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 816, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 830, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 840, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 931, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 945, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 956, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 961, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 975, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 985, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 990, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 991, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 996, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1017, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1032, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2274, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2288, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2298, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2312, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2322, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2327, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2334, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2341, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2676, "action": "none", "why": "no canonical signature"}, {"line": 2684, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8171474933624268, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7442116737365723, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7269446849822998, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8406174182891846, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.914987325668335, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8630781173706055, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 1.0283613204956055, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8234086036682129, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8678748607635498, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7132730484008789, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7408337593078613, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:45", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7075409889221191, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:45", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7633936405181885, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:45", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9224526882171631, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:45", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.6693680286407471, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:46", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7721545696258545, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:46", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7813296318054199, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:47", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8085858821868896, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:48", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8290042877197266, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:48", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7959251403808594, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:48", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7715311050415039, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:49", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.780632495880127, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:49", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9122684001922607, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:49", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_107/ov_SC03_107.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.38437652587890625, "record": {"deleted": 29, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1539, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1553, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1563, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1573, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1574, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1579, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1593, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1603, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1604, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1609, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1623, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1633, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1634, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1639, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1653, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1736, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1750, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1760, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1761, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1766, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1780, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1790, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1795, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1796, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1801, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1808, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1822, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1832, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1837, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:50", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7696528434753418, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:50", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7822787761688232, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:51", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7605175971984863, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:51", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7769956588745117, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:51", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7354872226715088, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:51", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7343103885650635, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:52", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8293559551239014, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:53", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7935023307800293, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:53", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8002030849456787, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:53", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7841966152191162, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 4, "seconds": 1.5565402507781982, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 565, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 579, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 589, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 599, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 600, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 680, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 694, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 704, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 705, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 710, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 724, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 734, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 739, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 740, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 745, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 752, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 766, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 776, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 781, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2023, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2037, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2047, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2061, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2071, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2076, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2083, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2090, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2425, "action": "none", "why": "no canonical signature"}, {"line": 2433, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 1.004495620727539, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7647547721862793, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7914390563964844, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8310909271240234, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 820, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 834, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 844, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 854, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 855, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 935, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 949, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 959, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 960, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 965, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 979, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 989, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 994, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 995, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1000, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1007, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1021, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1031, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1036, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2278, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2302, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2316, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2326, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2331, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2338, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2345, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2680, "action": "none", "why": "no canonical signature"}, {"line": 2688, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:55", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7670571804046631, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:56", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 1.0433006286621094, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:57", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.6594092845916748, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:58", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8998873233795166, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:58", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.809821605682373, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:58", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.725200891494751, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:58", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7298574447631836, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 703, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 717, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 727, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 737, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 738, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 791, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 805, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 815, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 816, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 821, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 835, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 845, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 856, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 863, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 877, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 887, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 892, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1734, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1748, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1758, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1772, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1782, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1787, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1794, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1801, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2136, "action": "none", "why": "no canonical signature"}, {"line": 2144, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:58", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9025182723999023, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:59", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8161540031433105, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:49:59", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8122766017913818, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:00", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8631284236907959, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:00", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7721002101898193, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:00", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9329099655151367, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:00", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 4, "seconds": 1.498913049697876, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:01", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.911491870880127, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:02", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7017571926116943, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 820, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 834, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 844, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 854, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 855, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 935, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 949, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 959, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 960, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 965, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 979, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 989, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 994, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 995, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1000, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1007, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1021, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1031, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1036, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2278, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2302, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2316, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2326, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2331, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2338, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2345, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2680, "action": "none", "why": "no canonical signature"}, {"line": 2688, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:03", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.952078104019165, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:03", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8368144035339355, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:03", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9034667015075684, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:04", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8189918994903564, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:04", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 1.0943610668182373, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.812598705291748, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7952466011047363, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7687907218933105, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8408527374267578, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 703, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 717, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 727, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 737, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 738, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 791, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 805, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 815, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 816, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 821, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 835, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 845, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 850, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 851, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 856, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 863, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 877, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 887, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 892, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1734, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1748, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1758, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1772, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1782, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1787, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1794, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1801, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2136, "action": "none", "why": "no canonical signature"}, {"line": 2144, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9911248683929443, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:06", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8935937881469727, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:07", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7877442836761475, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.832754373550415, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7381858825683594, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 820, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 834, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 844, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 854, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 855, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 935, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 949, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 959, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 960, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 965, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 979, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 989, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 994, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 995, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1000, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1007, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1021, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1031, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1036, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2278, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2302, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2316, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2326, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2331, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2338, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2345, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2680, "action": "none", "why": "no canonical signature"}, {"line": 2688, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7165045738220215, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8910553455352783, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:09", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 5, "seconds": 1.7139663696289062, "record": {"deleted": 27, "renamed_defs": 1, "use_renames": 12, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 6, "defs": [{"name": "gte_ldv0", "l0": 2698, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2724, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2725, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2766, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2774, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2782, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2791, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2800, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2808, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3770, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 3775, "action": "renamed", "variant": "gte_rtv0tr_m", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 3781, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 7886, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 7891, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 7897, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_SetRotMatrix", "l0": 8267, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8281, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 8291, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8305, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 8731, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8745, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 3, "variants_kept": 1}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:09", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7426981925964355, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:10", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7672450542449951, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:10", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7826154232025146, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:10", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 1.1370563507080078, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:10", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7679359912872314, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:10", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7290501594543457, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:13", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.838146448135376, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2681, "action": "none", "why": "no canonical signature"}, {"line": 2689, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:13", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8019301891326904, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:13", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.861177921295166, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:13", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7943763732910156, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:14", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7856826782226562, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:14", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9454035758972168, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:14", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8261852264404297, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:14", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7378764152526855, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:15", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.844508171081543, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:15", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9025850296020508, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:16", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7533249855041504, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 820, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 834, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 844, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 854, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 855, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 935, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 949, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 959, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 960, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 965, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 979, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 989, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 994, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 995, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1000, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1007, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1021, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1031, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1036, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2278, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2302, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2316, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2326, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2331, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2338, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2345, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2680, "action": "none", "why": "no canonical signature"}, {"line": 2688, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:16", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7850375175476074, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:17", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8585338592529297, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:17", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.9425761699676514, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:17", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7886028289794922, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 818, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 832, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 842, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 852, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 853, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 933, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 947, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 957, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 963, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 977, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 992, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 993, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 998, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1005, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1019, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1029, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1034, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2276, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2290, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2314, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2324, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2329, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2336, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2343, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2678, "action": "none", "why": "no canonical signature"}, {"line": 2686, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:17", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 13, "seconds": 5.232923269271851, "record": {"deleted": 28, "renamed_defs": 0, "use_renames": 8, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 5767, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5773, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 5783, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 5793, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5794, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 5795, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 5796, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_stsxy", "l0": 5798, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5804, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 5812, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 5820, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 5828, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 5836, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 5845, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5854, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 5862, "action": "deleted", "canonical": "gte_stopz"}, {"name": "SRM_80186B78", "l0": 8240, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 8252, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 8260, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 8272, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 8280, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 8292, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 8712, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 8724, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 8732, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 8744, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 8752, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 8764, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 12, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:17", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2220323085784912, "record": {"deleted": 23, "renamed_defs": 0, "use_renames": 1, "direct_calls": 3, "direct_levers": 1, "direct_none": 0, "marked": 1, "defs": [{"name": "gte_ldv0", "l0": 2706, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2712, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2722, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2732, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2733, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2734, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2766, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2774, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2782, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2790, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2799, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2808, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2816, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4156, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4170, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 4180, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 4185, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 4186, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 4191, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 3794, "action": "call", "name": "gte_SetRotTransMatrix"}, {"line": 3813, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 3821, "action": "call", "name": "gte_stlvnl"}, {"line": 3827, "action": "call", "name": "gte_stflg"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:18", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8018310070037842, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 614, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 628, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 638, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 648, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 649, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 702, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 716, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 726, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 732, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 746, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 756, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 761, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 762, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 767, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 774, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 788, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 798, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 803, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1420, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1434, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1444, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1458, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1468, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1473, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1480, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1487, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:19", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7930045127868652, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 614, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 628, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 638, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 648, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 649, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 702, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 716, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 726, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 732, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 746, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 756, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 761, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 762, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 767, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 774, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 788, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 798, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 803, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1420, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1434, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1444, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1458, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1468, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1473, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1480, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1487, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:19", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.8789677619934082, "record": {"deleted": 27, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 614, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 628, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 638, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 648, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 649, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 702, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 716, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 726, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 732, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 746, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 756, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 761, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 762, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 767, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 774, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 788, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 798, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 803, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1420, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1434, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1444, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1458, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1468, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1473, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1480, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1487, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:19", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 7, "seconds": 2.2472188472747803, "record": {"deleted": 25, "renamed_defs": 0, "use_renames": 12, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 5256, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 5261, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 5267, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 5993, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 5997, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 6002, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 6010, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 6014, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 6019, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 6027, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv0", "l0": 7210, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 7216, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 7226, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 7236, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 7237, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 7238, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 7240, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 7246, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 7254, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 7262, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 7270, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 7278, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 7287, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 7296, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 7304, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 6, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:20", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_028/ov_SC02_028_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2832770347595215, "record": {"deleted": 24, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 6283, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 6289, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 6299, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 6300, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 6302, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 6308, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 6316, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6325, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:20", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_097/ov_SC03_097_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.270965576171875, "record": {"deleted": 24, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2691, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2697, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2707, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2717, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2718, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2719, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2721, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2759, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2767, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2775, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2784, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2793, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2801, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 4763, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4769, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4779, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4780, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4782, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4788, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 4796, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4805, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20899033546447754, "record": {"deleted": 24, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3729, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3744, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 3755, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 3761, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 3763, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 3769, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 3775, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3784, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18487024307250977, "record": {"deleted": 23, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3438, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3443, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3452, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3461, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3462, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3463, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3464, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3469, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3476, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3483, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3490, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3497, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3504, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3511, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3519, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3527, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3534, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv3", "l0": 3903, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 3913, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy3", "l0": 3915, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 3923, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3932, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 3940, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3955, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_021/ov_SC02_021_jr_8017C294.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17628812789916992, "record": {"deleted": 23, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2699, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2705, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2715, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2725, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2726, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2727, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2759, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2767, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2775, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2783, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2792, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2801, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2809, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 3286, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 3292, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3302, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3303, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 3305, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3311, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 3319, "action": "deleted", "canonical": "gte_stszotz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1693422794342041, "record": {"deleted": 22, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2699, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2705, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2715, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2725, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2726, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2727, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2759, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2767, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2775, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2783, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2792, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2801, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2809, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3574, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3589, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 3600, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 3606, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 3608, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 3616, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 3130, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.23429417610168457, "record": {"deleted": 22, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3296, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3311, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 3322, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 3328, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 3330, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 3338, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 4085, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:22", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 1.1564831733703613, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 6, "direct_calls": 0, "direct_levers": 0, "direct_none": 4, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2691, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2697, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2707, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2717, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2718, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2719, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2721, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2759, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2767, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2775, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2784, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2793, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2801, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv0", "l0": 4259, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4264, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4270, "action": "deleted", "canonical": "gte_stsv"}], "direct": [{"line": 3293, "action": "none", "why": "no canonical signature"}, {"line": 3301, "action": "none", "why": "no canonical signature"}, {"line": 3318, "action": "none", "why": "no canonical signature"}, {"line": 3326, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:23", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3713724613189697, "record": {"deleted": 18, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 4, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2689, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2695, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2705, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2715, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2716, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2717, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2757, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2765, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2773, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2782, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2791, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2799, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 5111, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5125, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 3193, "action": "none", "why": "no canonical signature"}, {"line": 3201, "action": "none", "why": "no canonical signature"}, {"line": 3218, "action": "none", "why": "no canonical signature"}, {"line": 3226, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:23", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1695549488067627, "record": {"deleted": 22, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3939, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3953, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4163, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4177, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4187, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4201, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:24", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.6323337554931641, "record": {"deleted": 22, "renamed_defs": 0, "use_renames": 6, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 5719, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5725, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 5735, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 5745, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5746, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 5747, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 5749, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5755, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 5763, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 5771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 5779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 5788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 5805, "action": "deleted", "canonical": "gte_stopz"}, {"name": "SRM_8018584C", "l0": 9790, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_8018584C", "l0": 9804, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186334", "l0": 10408, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186334", "l0": 10422, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_8018E8A0", "l0": 10704, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_8018E8A0", "l0": 10718, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 11254, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 11268, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:24", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2914755344390869, "record": {"deleted": 22, "renamed_defs": 0, "use_renames": 4, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3378, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3384, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3394, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3404, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3405, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3406, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3407, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3408, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3410, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3416, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3424, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3432, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3440, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3448, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3457, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3465, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4896, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4912, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_FC6C", "l0": 5748, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_FC6C", "l0": 5762, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80180838", "l0": 6350, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80180838", "l0": 6364, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2384655475616455, "record": {"deleted": 22, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2767, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2773, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2783, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2793, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2794, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2795, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 2796, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 2797, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 2799, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2805, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2813, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2821, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2829, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2837, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 2846, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2854, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4123, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4137, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4258, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4272, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 5056, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5070, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2240746021270752, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 1, "direct_calls": 1, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 2708, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2724, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2734, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2735, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2736, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2760, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2768, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2776, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2784, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2792, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2801, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2810, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2818, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 5534, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5548, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 3757, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 3772, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 3782, "action": "call", "name": "gte_stsv"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_006/ov_SC04_006_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1594388484954834, "record": {"deleted": 18, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 3, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2685, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2691, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2711, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2712, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2713, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2715, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2721, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2753, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2761, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2769, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2778, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2787, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2795, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4003, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4017, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 3427, "action": "none", "why": "no canonical signature"}, {"line": 4605, "action": "none", "why": "no canonical signature"}, {"line": 4613, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.28035402297973633, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 5, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2693, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2709, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2719, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2720, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2721, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2769, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2777, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2786, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2795, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2803, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 4550, "action": "none", "why": "no canonical signature"}, {"line": 4558, "action": "none", "why": "no canonical signature"}, {"line": 4577, "action": "none", "why": "no canonical signature"}, {"line": 4585, "action": "none", "why": "no canonical signature"}, {"line": 5992, "action": "none", "why": "no canonical signature"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:26", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_033/ov_SC06_033_jr_80186574.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.6114389896392822, "record": {"deleted": 22, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 3581, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3595, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 6150, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 6152, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 6156, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 6157, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 6158, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 6160, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_avsz4", "l0": 6163, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stotz", "l0": 6164, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 6166, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6268, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6273, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6274, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6279, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6287, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_ldv0", "l0": 6294, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv0", "l0": 6298, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 6303, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 6304, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 6309, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 6317, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:27", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3267505168914795, "record": {"deleted": 21, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3379, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3385, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3395, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3405, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3406, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3407, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3408, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3409, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3411, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3417, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3425, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3433, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3441, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3449, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3458, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3466, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_ldv3", "l0": 5629, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 5639, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy0", "l0": 5641, "action": "deleted", "canonical": "gte_stsxy0"}, {"name": "gte_stsxy1", "l0": 5643, "action": "deleted", "canonical": "gte_stsxy1"}, {"name": "gte_stotz", "l0": 5645, "action": "deleted", "canonical": "gte_stszotz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:27", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.31693243980407715, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2684, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2690, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2700, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2710, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2711, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2712, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2714, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2720, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2752, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2760, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2768, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2777, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2786, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2794, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3590, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3604, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3614, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3628, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:27", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3838798999786377, "record": {"deleted": 21, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 5342, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5348, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 5358, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 5368, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5369, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 5370, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 5372, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5378, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 5386, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 5394, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 5402, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 5410, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 5418, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 5426, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 5435, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5444, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 5452, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 8834, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8848, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 8858, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8872, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_093/ov_SC03_093_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.258514404296875, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2692, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2698, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2708, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2718, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2719, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2720, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2760, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2768, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2776, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2785, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2794, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2802, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3984, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3998, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4008, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4022, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.33024024963378906, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2680, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2686, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2696, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2706, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2707, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2708, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2710, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2724, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2748, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2756, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2764, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2773, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2782, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2790, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4402, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4416, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4426, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4440, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20073461532592773, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2683, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2689, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2709, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2710, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2711, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2713, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2751, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2759, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2767, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2776, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2785, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2793, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3944, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3958, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3968, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3982, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2178211212158203, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2683, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2689, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2709, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2710, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2711, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2713, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2751, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2759, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2767, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2776, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2785, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2793, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3375, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3389, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3399, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3413, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2903115749359131, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2693, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2709, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2719, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2720, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2721, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2761, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2769, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2777, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2786, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2795, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2803, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3688, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3702, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3712, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3726, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.33402228355407715, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2685, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2691, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2711, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2712, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2713, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2715, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2721, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2753, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2761, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2769, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2778, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2787, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2795, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3508, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3522, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3532, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3546, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2947714328765869, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2693, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2709, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2719, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2720, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2721, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2729, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2761, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2769, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2777, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2786, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2795, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2803, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3529, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3543, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3553, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3567, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_109/ov_SC03_109_jr_8017C180.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20113849639892578, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2690, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2696, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2706, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2716, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2717, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2718, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2720, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2758, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2766, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2774, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2783, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2792, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2800, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3607, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3621, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3631, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3645, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2000751495361328, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2692, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2698, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2708, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2718, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2719, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2720, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2760, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2768, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2776, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2785, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2794, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2802, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 4035, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4049, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4059, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4073, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:31", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/md_SC07_003/md_SC07_003.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2519230842590332, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1591, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1605, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2054, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2068, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2078, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 2083, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 2084, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 2089, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2097, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2826, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2840, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 3370, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3384, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4156, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4171, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 4182, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 4188, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 4190, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 4196, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4205, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 12, "seconds": 2.8793375492095947, "record": {"deleted": 19, "renamed_defs": 1, "use_renames": 12, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 6, "defs": [{"name": "gte_ldv0", "l0": 3471, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 3476, "action": "renamed", "variant": "gte_rtv0tr_m", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 3482, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4171, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4176, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4182, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4653, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3c", "l0": 4659, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 4669, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4670, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 4671, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 4673, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4679, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 4687, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_ft3", "l0": 4695, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 4703, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 4711, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 4719, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4728, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 4736, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 4, "variants_kept": 1}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_105/ov_SC03_105_jr_80181C84.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2024857997894287, "record": {"deleted": 20, "renamed_defs": 0, "use_renames": 44, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 4206, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4220, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix_85810", "l0": 5376, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_85810", "l0": 5391, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldclmv_85810", "l0": 5402, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_rtir_85810", "l0": 5413, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stclmv_85810", "l0": 5415, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_ldlvl_85810", "l0": 5426, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rt_85810", "l0": 5437, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl_85810", "l0": 5439, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_ldv0_85810", "l0": 5447, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps_85810", "l0": 5453, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy_85810", "l0": 5455, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz_85810", "l0": 5461, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_ldv3_85810", "l0": 5467, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt_85810", "l0": 5477, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy0_85810", "l0": 5479, "action": "deleted", "canonical": "gte_stsxy0"}, {"name": "gte_stsxy1_85810", "l0": 5485, "action": "deleted", "canonical": "gte_stsxy1"}, {"name": "gte_stflg_85810", "l0": 5491, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stszotz_85810", "l0": 5499, "action": "deleted", "canonical": "gte_stszotz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_MAIN_012/ov_MAIN_012.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.33798980712890625, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1553, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1568, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1579, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1590, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1592, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1670, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1684, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1694, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1695, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1700, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1714, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1724, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1729, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1730, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1735, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1742, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1756, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1766, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1771, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7218427658081055, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 987, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1002, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1024, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1026, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1116, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1131, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1142, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1148, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1150, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1156, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2535, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2550, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 2561, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 2567, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 2575, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 2583, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 2979, "action": "none", "why": "no canonical signature"}, {"line": 2987, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:33", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_010/ov_SC03_010_jr_8017C730.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.22868990898132324, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2853, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2859, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2869, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2879, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2880, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2881, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2883, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2889, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2897, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2905, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2913, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2921, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2929, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2937, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2946, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2955, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2963, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_avsz3", "l0": 2970, "action": "deleted", "canonical": "gte_avsz3"}], "direct": [{"line": 4119, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:34", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2421886920928955, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2691, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2697, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2707, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2717, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2718, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2719, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2721, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2759, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2767, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2775, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2784, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2793, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2801, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 5846, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5860, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:34", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_005/ov_SC05_005_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.23042964935302734, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 2, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2704, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2710, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2720, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2730, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2731, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2732, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2748, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2756, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2764, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2772, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2780, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2788, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2797, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2806, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2814, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 3350, "action": "none", "why": "no canonical signature"}, {"line": 4968, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:34", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17528629302978516, "record": {"deleted": 18, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 3893, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3907, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:34", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_006/ov_SC07_006.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3737063407897949, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1686, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1700, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1710, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1720, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1721, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1810, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1824, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1834, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1835, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1840, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1854, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1864, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1869, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1870, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1875, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1882, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1896, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1906, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1911, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:34", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_007/ov_SC07_007.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.41594982147216797, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1543, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1557, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1567, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1577, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1578, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1667, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1681, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1691, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1692, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1697, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1711, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1721, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1726, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1732, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1739, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1753, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1763, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1768, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_010/ov_SC07_010.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3763587474822998, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1543, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1557, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1567, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1577, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1578, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1667, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1681, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1691, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1692, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1697, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1711, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1721, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1726, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1732, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1739, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1753, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1763, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1768, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_011/ov_SC07_011.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.4871857166290283, "record": {"deleted": 19, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1543, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1557, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldlv0", "l0": 1567, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_rtps", "l0": 1577, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1578, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1667, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1681, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_rtps", "l0": 1691, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1692, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_SetRotMatrix", "l0": 1697, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1711, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1721, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 1726, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 1727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 1732, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1739, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1753, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1763, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1768, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.36091041564941406, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 5649, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 5654, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 5663, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 5672, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 5673, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 5674, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 5675, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 5680, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 5687, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 5694, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 5701, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 5709, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5717, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 5724, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_SetRotMatrix", "l0": 8723, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 8737, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 8114, "action": "none", "why": "no canonical signature"}, {"line": 8122, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_013/ov_SC03_013_jr_8017C730.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.16411352157592773, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2692, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2698, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2708, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2718, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2719, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2720, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2760, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2768, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2776, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2785, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2794, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2802, "action": "deleted", "canonical": "gte_stopz"}, {"name": "gte_avsz3", "l0": 2809, "action": "deleted", "canonical": "gte_avsz3"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.28348255157470703, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 4, "direct_levers": 6, "direct_none": 0, "marked": 6, "defs": [{"name": "gte_SetRotMatrix", "l0": 2852, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2866, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2876, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2890, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4530, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4544, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4554, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4568, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 4638, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 4646, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 4652, "action": "call", "name": "gte_stclmv"}, {"line": 4659, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 4665, "action": "call", "name": "gte_stclmv"}, {"line": 4672, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 4678, "action": "call", "name": "gte_stclmv"}, {"line": 4685, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 4693, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 4700, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:38", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_092/ov_SC03_092_jr_80181694.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.28469014167785645, "record": {"deleted": 18, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 2958, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2972, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 2982, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2996, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4137, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4151, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4368, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4382, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4392, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4406, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 4762, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4768, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4778, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4779, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4781, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4787, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 4795, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4804, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18232083320617676, "record": {"deleted": 18, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 3492, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3507, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 3518, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3524, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 3534, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3535, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 3536, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3538, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3544, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 3552, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 3558, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 3791, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3806, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 3817, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 3823, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 3825, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 3831, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3840, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20593833923339844, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 1, "direct_none": 0, "marked": 1, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 3437, "action": "lever", "variant": "gte_SetRotTransMatrix_m", "delta": ["memory"]}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18229341506958008, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 1, "direct_none": 0, "marked": 1, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 4134, "action": "lever", "variant": "gte_SetRotTransMatrix_m", "delta": ["memory"]}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_015/ov_SC06_015_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20996856689453125, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 1, "direct_none": 0, "marked": 1, "defs": [{"name": "gte_ldv0", "l0": 2686, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2692, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2712, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2713, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2714, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2754, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2762, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2770, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2779, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2788, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2796, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 3313, "action": "lever", "variant": "gte_SetRotTransMatrix_m", "delta": ["memory"]}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:39", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.15835881233215332, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2698, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2724, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2725, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2766, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2774, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2782, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2791, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2800, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2808, "action": "deleted", "canonical": "gte_stopz"}], "direct": [{"line": 3452, "action": "none", "why": "no canonical signature"}], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:40", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.16212201118469238, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2672, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2678, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2688, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2698, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2699, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2700, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2702, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2708, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2724, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2740, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2748, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2756, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2765, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2774, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2782, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:40", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_001/ov_SC01_001_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1387178897857666, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2689, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2695, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2705, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2715, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2716, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2717, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2757, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2765, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2773, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2782, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2791, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2799, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_004/ov_SC01_004_jr_8017BE9C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.14022064208984375, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2696, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2712, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2722, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2723, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2724, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2748, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2756, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2764, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2772, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2780, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2789, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2798, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2806, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_005/ov_SC01_005_jr_8017C340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.31266140937805176, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2705, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2721, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2731, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2732, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2733, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2765, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2773, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2781, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2789, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2798, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2807, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2815, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.12045407295227051, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2696, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2712, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2722, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2723, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2724, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2748, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2756, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2764, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2772, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2780, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2789, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2798, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2806, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1512300968170166, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2689, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2695, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2705, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2715, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2716, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2717, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2765, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2773, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2782, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2791, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2799, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17275595664978027, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2696, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2712, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2722, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2723, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2724, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2748, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2756, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2764, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2772, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2780, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2789, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2798, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2806, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18482637405395508, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2698, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2724, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2725, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2766, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2774, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2782, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2791, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2800, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2808, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.33338069915771484, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3677, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3682, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3691, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3700, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3701, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3702, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3703, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3708, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3715, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3722, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3729, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3736, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3743, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3750, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3758, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3766, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3773, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_002/ov_SC03_002_jr_8017D604.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20667409896850586, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2688, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2694, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2714, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2715, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2716, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2718, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2724, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2740, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2748, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2756, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2764, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2772, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2781, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2790, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2798, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:43", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_003/ov_SC03_003_jr_8017D5C0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.21996474266052246, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2692, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2697, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2706, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2715, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2716, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2717, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2718, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2737, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2758, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2765, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2773, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2781, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2788, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_011/ov_SC03_011_jr_8017C730.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2833700180053711, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2694, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2700, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2710, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2720, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2721, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2722, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2724, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2762, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2770, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2778, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2787, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2796, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2804, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.21535038948059082, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2706, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2712, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2722, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2732, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2733, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2734, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2766, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2774, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2782, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2790, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2799, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2808, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2816, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:44", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.211106538772583, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2709, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2715, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2725, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2735, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2736, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2737, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2769, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2777, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2785, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2793, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2802, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2811, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2819, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:45", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.24364304542541504, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2702, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2708, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2718, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2728, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2729, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2730, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2732, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2762, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2770, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2778, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2786, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2795, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2804, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2812, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:45", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_110/ov_SC03_110_jr_8017D898.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2542572021484375, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2698, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2724, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2725, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2766, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2774, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2782, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2791, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2800, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2808, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:45", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2019670009613037, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2683, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2689, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2699, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2709, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2710, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2711, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2713, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2735, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2743, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2751, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2759, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2767, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2776, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2785, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2793, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:46", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18910741806030273, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2687, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2693, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2713, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2714, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2715, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2717, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2763, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2771, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2780, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2789, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2797, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:46", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.23514389991760254, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:46", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.330003023147583, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3655, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3660, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3669, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3678, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3679, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3680, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3681, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3686, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3693, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3700, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3707, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3714, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3721, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3728, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3736, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3744, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3751, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:47", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_125/ov_SC03_125_jr_8017D604.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2150707244873047, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2687, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2693, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2713, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2714, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2715, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2717, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2763, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2771, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2780, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2789, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2797, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:47", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_126/ov_SC03_126_jr_8017D5C0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.14812755584716797, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2709, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2715, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2725, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2735, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2736, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2737, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2769, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2777, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2785, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2793, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2802, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2811, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2819, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:48", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.42634057998657227, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3314, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3319, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3328, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3337, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3338, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3339, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3340, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3345, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3352, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3359, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3366, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3373, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3380, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3387, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3395, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3403, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3410, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:48", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2515065670013428, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3322, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3327, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3336, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3345, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3346, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3347, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3348, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3353, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3360, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3367, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3374, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3381, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3388, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3395, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3403, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3411, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3418, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:48", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1407012939453125, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2694, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2700, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2710, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2720, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2721, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2722, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2724, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2762, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2770, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2778, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2787, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2796, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2804, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:48", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2645087242126465, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3320, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3325, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3334, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3343, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3344, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3345, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3346, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3351, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3358, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3365, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3372, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3379, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3386, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3393, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3401, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3409, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3416, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:49", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.29974842071533203, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3714, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3719, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3728, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3737, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3738, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3739, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3740, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3745, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3752, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3759, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3766, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3773, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3780, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3787, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3795, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3803, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3810, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:50", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17610549926757812, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:50", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.7675402164459229, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3666, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3671, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3680, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3689, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3690, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3691, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3692, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3697, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3704, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3711, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3718, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3725, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3732, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3739, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3747, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3755, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3762, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:50", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_020/ov_SC04_020_jr_8017D604.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.28720593452453613, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2686, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2692, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2712, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2713, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2714, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2762, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2770, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2779, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2788, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2796, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:50", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_021/ov_SC04_021_jr_8017D5C0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17070817947387695, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2709, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2715, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2725, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2735, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2736, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2737, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2769, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2777, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2785, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2793, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2802, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2811, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2819, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:50", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2261497974395752, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2686, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2692, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2712, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2713, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2714, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2762, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2770, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2779, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2788, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2796, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:51", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.19323277473449707, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2684, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2690, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2700, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2710, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2711, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2712, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2714, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2720, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2760, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2768, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2777, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2786, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2794, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:51", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17134642601013184, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2690, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2696, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2706, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2716, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2717, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2718, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2720, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2726, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2766, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2774, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2783, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2792, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2800, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:52", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2050323486328125, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2692, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2698, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2708, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2718, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2719, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2720, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2736, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2744, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2752, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2760, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2768, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2776, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2785, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2794, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2802, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:52", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.30012035369873047, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3323, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3328, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3337, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3346, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3347, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3348, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3349, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3354, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3361, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3368, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3375, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3382, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3389, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3396, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3404, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3412, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3419, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:53", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.19490623474121094, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2698, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2704, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2714, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2724, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2725, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2726, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2728, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2734, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2742, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2750, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2758, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2766, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2774, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2782, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2791, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2800, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2808, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:53", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18755316734313965, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:53", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3049049377441406, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3660, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3665, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3674, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3683, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3684, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3685, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3686, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3691, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3698, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3705, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3712, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3719, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3726, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3733, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3741, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3749, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3756, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3390352725982666, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2686, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2692, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2702, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2712, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2713, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2714, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2716, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2722, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2762, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2770, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2779, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2788, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2796, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_019/ov_SC05_019_jr_8017D5C0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.12528085708618164, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2709, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2715, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2725, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2735, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2736, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2737, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2745, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2753, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2769, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2777, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2785, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2793, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2802, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2811, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2819, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:54", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20805621147155762, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:55", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.26171159744262695, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2697, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2713, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2723, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2724, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2725, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2727, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2757, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2765, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2773, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2781, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2790, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2799, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2807, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:55", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2685658931732178, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2689, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2695, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2705, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2715, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2716, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2717, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2719, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2733, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2741, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2749, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2757, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2765, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2773, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2782, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2791, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2799, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:55", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.14298248291015625, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2695, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2701, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2711, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2721, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2722, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2723, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2725, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2763, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2771, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2779, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2788, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2797, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2805, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:55", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_029/ov_SC06_029_jr_801867D0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.16746735572814941, "record": {"deleted": 17, "renamed_defs": 0, "use_renames": 2, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 4792, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4794, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4804, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4805, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 4806, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_rt", "l0": 4807, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_rtir", "l0": 4808, "action": "deleted", "canonical": "gte_rtir"}, {"name": "gte_stsxy", "l0": 4810, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4812, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 4820, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 4822, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 4824, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4837, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldclmv", "l0": 4846, "action": "deleted", "canonical": "gte_ldclmv"}, {"name": "gte_stclmv", "l0": 4855, "action": "deleted", "canonical": "gte_stclmv"}, {"name": "gte_ldlvnl", "l0": 4864, "action": "deleted", "canonical": "gte_ldlv0"}, {"name": "gte_stlvnl", "l0": 4873, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:55", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2136697769165039, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2694, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2700, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2710, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2720, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2721, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2722, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2724, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2730, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2738, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2746, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2754, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2762, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2770, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2778, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2787, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2796, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2804, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:55", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.36476826667785645, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3203, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3209, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3219, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3229, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3230, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3231, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3233, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3239, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3247, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3255, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3263, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3271, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3279, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3287, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3296, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3305, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3313, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:56", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2608828544616699, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3196, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3202, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3212, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3222, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3223, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3224, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3226, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3232, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3240, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3248, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3256, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3264, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3272, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3280, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3289, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3298, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3306, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:56", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_008/ov_SC07_008_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1295154094696045, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2687, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2693, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2703, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2713, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2714, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2715, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 2717, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2723, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2731, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2739, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 2747, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 2755, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 2763, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2771, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 2780, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2789, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2797, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:57", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2069871425628662, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3315, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3320, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3329, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3338, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3339, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3340, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3341, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3346, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3353, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3360, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3367, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3374, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3381, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3388, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3396, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3404, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3411, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:57", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_011/ov_SC07_011_jr_8017BEBC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.24481987953186035, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3196, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3202, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3212, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3222, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3223, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3224, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3226, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3232, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3240, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3248, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsxy3_ft3", "l0": 3256, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsxy3_f4", "l0": 3264, "action": "kept", "canonical": "gte_stsxy3_f3", "why": "header-bound homonym"}, {"name": "gte_stsz3", "l0": 3272, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3280, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3289, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3298, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3306, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 1, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:57", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.24075555801391602, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3605, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3611, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3621, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3631, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3632, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3633, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3634, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3635, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3637, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3643, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3651, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3659, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3667, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3675, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3684, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3692, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:58", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.4089488983154297, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3874, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3880, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3890, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3900, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3901, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3902, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3903, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3904, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3906, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3912, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3920, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3928, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3936, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3944, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3953, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3961, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:59", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.16518282890319824, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3378, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3384, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3394, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3404, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3405, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3406, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3407, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3408, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3410, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3416, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3424, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3432, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3440, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3448, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3457, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3465, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:59", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.19670414924621582, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2723, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2729, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 2739, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 2749, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 2750, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 2751, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 2752, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 2753, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 2755, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 2761, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 2769, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 2777, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 2785, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 2793, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 2802, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 2810, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:59", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18081927299499512, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3436, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3441, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3450, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3459, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3460, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3461, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3462, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3463, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3464, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3469, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3476, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3483, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3490, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3497, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3505, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3512, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:50:59", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.16475915908813477, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3381, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3387, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3397, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3407, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3408, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3409, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3410, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3411, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3413, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3419, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3427, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3435, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3443, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3451, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3460, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3468, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:00", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.246659517288208, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3370, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3376, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3386, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3396, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3397, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3398, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3399, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3400, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3402, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3408, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3416, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3424, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3432, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3440, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3449, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3457, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:00", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20961952209472656, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 155, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 161, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 171, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 181, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 182, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 183, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 184, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_stsxy", "l0": 186, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 192, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 200, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_g3", "l0": 208, "action": "deleted", "canonical": "gte_stsxy3_ft3"}, {"name": "gte_stsz3", "l0": 216, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 224, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 233, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 242, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 250, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:01", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2347393035888672, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3009, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3015, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3025, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3035, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3036, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3037, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3038, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3039, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3041, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3047, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3055, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3063, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3071, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3079, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3088, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3096, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:01", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20027971267700195, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2992, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3001, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3010, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3011, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3012, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3013, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3014, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3015, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3020, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3027, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3034, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3041, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3048, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3056, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3063, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:01", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2635161876678467, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 2987, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 2992, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3001, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3010, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3011, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3012, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3013, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3014, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3015, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3020, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3027, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3034, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3041, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3048, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3056, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3063, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:01", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.30757594108581543, "record": {"deleted": 16, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3481, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3487, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3497, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3507, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3508, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3509, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_avsz3", "l0": 3510, "action": "deleted", "canonical": "gte_avsz3"}, {"name": "gte_avsz4", "l0": 3511, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 3513, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3519, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3527, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsxy3_f3", "l0": 3535, "action": "deleted", "canonical": "gte_stsxy3_f3"}, {"name": "gte_stsz3", "l0": 3543, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3551, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stflg", "l0": 3560, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3568, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:02", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2721414566040039, "record": {"deleted": 11, "renamed_defs": 0, "use_renames": 2, "direct_calls": 1, "direct_levers": 3, "direct_none": 0, "marked": 3, "defs": [{"name": "gte_ldv0", "l0": 1693, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 1699, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 1709, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 1710, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4", "l0": 1711, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy", "l0": 1713, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 1719, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz", "l0": 1727, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg", "l0": 1733, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_87E08", "l0": 3569, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_87E08", "l0": 3583, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 3620, "action": "lever", "variant": "gte_ldv0_m", "delta": ["memory"]}, {"line": 3621, "action": "lever", "variant": "gte_rtps_m", "delta": ["memory"]}, {"line": 3622, "action": "call", "name": "gte_stsxy"}, {"line": 3623, "action": "lever", "variant": "gte_stflg_v", "delta": ["memory"]}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:03", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.47643446922302246, "record": {"deleted": 12, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1344, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1358, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1368, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1382, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1392, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1397, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1404, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1418, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1428, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1433, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1440, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1447, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 1788, "action": "none", "why": "no canonical signature"}, {"line": 1796, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:03", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_037/ov_SC02_037_jr_80131340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.3665771484375, "record": {"deleted": 12, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1343, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1357, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1367, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1381, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1391, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1396, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1403, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1417, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1427, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1432, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1439, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1446, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 1789, "action": "none", "why": "no canonical signature"}, {"line": 1797, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:03", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2985043525695801, "record": {"deleted": 14, "renamed_defs": 0, "use_renames": 4, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 4118, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4132, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 4143, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 4149, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 4151, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stflg", "l0": 4157, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 5722, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5736, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80184958", "l0": 6343, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80184958", "l0": 6357, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_8018E8A0", "l0": 6641, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_8018E8A0", "l0": 6655, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 7193, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 7207, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:04", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_107/ov_SC03_107_jr_80131340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.4501943588256836, "record": {"deleted": 12, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1344, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1358, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1368, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1382, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1392, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_stflg", "l0": 1397, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 1404, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1418, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1428, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1433, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1440, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1447, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 1790, "action": "none", "why": "no canonical signature"}, {"line": 1798, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:04", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.374392032623291, "record": {"deleted": 14, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3526, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 3532, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_ldv3c", "l0": 3542, "action": "deleted", "canonical": "gte_ldv3c"}, {"name": "gte_rtps", "l0": 3552, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 3553, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_nclip", "l0": 3554, "action": "deleted", "canonical": "gte_nclip"}, {"name": "gte_stsxy", "l0": 3556, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 3562, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stsxy3c", "l0": 3570, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_stsz3", "l0": 3578, "action": "deleted", "canonical": "gte_stsz3"}, {"name": "gte_stsz4", "l0": 3586, "action": "deleted", "canonical": "gte_stsz4"}, {"name": "gte_stszotz", "l0": 3595, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3604, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stopz", "l0": 3612, "action": "deleted", "canonical": "gte_stopz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:04", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_022/ov_SC06_022_jr_80182D08.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17580890655517578, "record": {"deleted": 0, "renamed_defs": 0, "use_renames": 0, "direct_calls": 14, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [], "direct": [{"line": 2839, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 2853, "action": "call", "name": "gte_ldclmv"}, {"line": 2861, "action": "call", "name": "gte_rtir"}, {"line": 2862, "action": "call", "name": "gte_stclmv"}, {"line": 2872, "action": "call", "name": "gte_ldclmv"}, {"line": 2880, "action": "call", "name": "gte_rtir"}, {"line": 2881, "action": "call", "name": "gte_stclmv"}, {"line": 2891, "action": "call", "name": "gte_ldclmv"}, {"line": 2899, "action": "call", "name": "gte_rtir"}, {"line": 2900, "action": "call", "name": "gte_stclmv"}, {"line": 2910, "action": "call", "name": "gte_SetTransMatrix"}, {"line": 2920, "action": "call", "name": "gte_ldlv0"}, {"line": 2928, "action": "call", "name": "gte_rtv0tr"}, {"line": 2929, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:04", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_024/ov_SC06_024_jr_801851E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.15706706047058105, "record": {"deleted": 0, "renamed_defs": 0, "use_renames": 0, "direct_calls": 14, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [], "direct": [{"line": 2879, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 2893, "action": "call", "name": "gte_ldclmv"}, {"line": 2901, "action": "call", "name": "gte_rtir"}, {"line": 2902, "action": "call", "name": "gte_stclmv"}, {"line": 2912, "action": "call", "name": "gte_ldclmv"}, {"line": 2920, "action": "call", "name": "gte_rtir"}, {"line": 2921, "action": "call", "name": "gte_stclmv"}, {"line": 2931, "action": "call", "name": "gte_ldclmv"}, {"line": 2939, "action": "call", "name": "gte_rtir"}, {"line": 2940, "action": "call", "name": "gte_stclmv"}, {"line": 2950, "action": "call", "name": "gte_SetTransMatrix"}, {"line": 2960, "action": "call", "name": "gte_ldlv0"}, {"line": 2968, "action": "call", "name": "gte_rtv0tr"}, {"line": 2969, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_033/ov_SC06_033_jr_801836FC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17964863777160645, "record": {"deleted": 0, "renamed_defs": 0, "use_renames": 0, "direct_calls": 14, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [], "direct": [{"line": 2906, "action": "call", "name": "gte_SetRotMatrix"}, {"line": 2920, "action": "call", "name": "gte_ldclmv"}, {"line": 2928, "action": "call", "name": "gte_rtir"}, {"line": 2929, "action": "call", "name": "gte_stclmv"}, {"line": 2939, "action": "call", "name": "gte_ldclmv"}, {"line": 2947, "action": "call", "name": "gte_rtir"}, {"line": 2948, "action": "call", "name": "gte_stclmv"}, {"line": 2958, "action": "call", "name": "gte_ldclmv"}, {"line": 2966, "action": "call", "name": "gte_rtir"}, {"line": 2967, "action": "call", "name": "gte_stclmv"}, {"line": 2977, "action": "call", "name": "gte_SetTransMatrix"}, {"line": 2987, "action": "call", "name": "gte_ldlv0"}, {"line": 2995, "action": "call", "name": "gte_rtv0tr"}, {"line": 2996, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.4395413398742676, "record": {"deleted": 12, "renamed_defs": 0, "use_renames": 8, "direct_calls": 0, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "SRM_80189F30", "l0": 803, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80189F30", "l0": 817, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_8018D720", "l0": 3824, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_8018D720", "l0": 3838, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_8018E208", "l0": 4457, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_8018E208", "l0": 4471, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_8018E8A0", "l0": 4831, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_8018E8A0", "l0": 4845, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 5380, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5394, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 6195, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6209, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [{"line": 2102, "action": "none", "why": "no canonical signature"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:05", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_014/ov_SC03_014_jr_801848E4.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.6432750225067139, "record": {"deleted": 13, "renamed_defs": 0, "use_renames": 12, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0_80187EE8", "l0": 4692, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_80187EE8", "l0": 4698, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_80187EE8", "l0": 4708, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_80187EE8", "l0": 4709, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_80187EE8", "l0": 4710, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_80187EE8", "l0": 4712, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_80187EE8", "l0": 4718, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_80187EE8", "l0": 4726, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_80187EE8", "l0": 4732, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_80187EE8", "l0": 4740, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_80187EE8", "l0": 4755, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 6257, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 6271, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:06", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.10858607292175293, "record": {"deleted": 13, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3102, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 3107, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 3108, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 3113, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3121, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 3128, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3142, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 3152, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 3157, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 3158, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 3163, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 3168, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3176, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:06", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.2337017059326172, "record": {"deleted": 13, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 5429, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 5434, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 5435, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 5440, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5448, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 5455, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 5469, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 5479, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 5484, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 5485, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsz", "l0": 5490, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_stszotz", "l0": 5495, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 5503, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:06", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.14117145538330078, "record": {"deleted": 13, "renamed_defs": 0, "use_renames": 14, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0_80180228", "l0": 3200, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3_80180228", "l0": 3206, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps_80180228", "l0": 3216, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt_80180228", "l0": 3217, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_avsz4_80180228", "l0": 3218, "action": "deleted", "canonical": "gte_avsz4"}, {"name": "gte_stsxy_80180228", "l0": 3220, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3_80180228", "l0": 3226, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stotz_80180228", "l0": 3234, "action": "deleted", "canonical": "gte_stotz"}, {"name": "gte_stflg_80180228", "l0": 3240, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix_80180228", "l0": 3248, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_80180228", "l0": 3263, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix_80181164", "l0": 3948, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix_80181164", "l0": 3963, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_000/ov_SC02_000_jr_8018173C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.5074241161346436, "record": {"deleted": 11, "renamed_defs": 0, "use_renames": 1, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 4442, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 4448, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsz", "l0": 4450, "action": "deleted", "canonical": "gte_stsz"}, {"name": "gte_ldv3", "l0": 4872, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 4882, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stflg", "l0": 4884, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_stsxy3", "l0": 4892, "action": "deleted", "canonical": "gte_stsxy3c"}, {"name": "gte_ldv0", "l0": 4900, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtps", "l0": 4906, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_stsxy", "l0": 4908, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stszotz", "l0": 4914, "action": "deleted", "canonical": "gte_stszotz"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 7, "seconds": 1.2992968559265137, "record": {"deleted": 10, "renamed_defs": 0, "use_renames": 12, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3472, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 3477, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 3483, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4110, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4114, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4119, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4127, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4131, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4136, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4144, "action": "deleted", "canonical": "gte_ldv0"}], "direct": [], "kept": 0, "variants_freed": 6, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 14, "seconds": 3.1945271492004395, "record": {"deleted": 10, "renamed_defs": 0, "use_renames": 12, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 3433, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 3437, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 3442, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4071, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4075, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4080, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4088, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rt", "l0": 4092, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stsv", "l0": 4097, "action": "deleted", "canonical": "gte_stsv"}, {"name": "gte_ldv0", "l0": 4105, "action": "deleted", "canonical": "gte_ldv0"}], "direct": [], "kept": 0, "variants_freed": 6, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:08", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_006/ov_SC07_006_jr_80131340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.5218169689178467, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1293, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1307, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1317, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1331, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1341, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1346, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1353, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1360, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 1698, "action": "none", "why": "no canonical signature"}, {"line": 1706, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:09", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_007/ov_SC07_007_jr_80131340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.4365992546081543, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1290, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1304, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1314, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1328, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1338, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1343, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1350, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1357, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 1695, "action": "none", "why": "no canonical signature"}, {"line": 1703, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:09", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_010/ov_SC07_010_jr_80131340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.4742588996887207, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1295, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1309, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1319, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1333, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1343, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1348, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1355, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1362, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 1700, "action": "none", "why": "no canonical signature"}, {"line": 1708, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:09", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC07_011/ov_SC07_011_jr_80131340.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 2, "seconds": 0.44543910026550293, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 1, "direct_levers": 0, "direct_none": 1, "marked": 0, "defs": [{"name": "gte_SetRotMatrix", "l0": 1290, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1304, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 1314, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 1328, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_ldv0", "l0": 1338, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_rtv0tr", "l0": 1343, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1350, "action": "deleted", "canonical": "gte_stlvnl"}, {"name": "gte_stflg", "l0": 1357, "action": "deleted", "canonical": "gte_stflg"}], "direct": [{"line": 1695, "action": "none", "why": "no canonical signature"}, {"line": 1703, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 1, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:09", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.3282961845397949, "record": {"deleted": 0, "renamed_defs": 0, "use_renames": 0, "direct_calls": 6, "direct_levers": 3, "direct_none": 0, "marked": 3, "defs": [], "direct": [{"line": 3249, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 3304, "action": "call", "name": "gte_SetRotTransMatrix"}, {"line": 3331, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 3338, "action": "call", "name": "gte_stlvnl"}, {"line": 3343, "action": "call", "name": "gte_stflg"}, {"line": 4784, "action": "call", "name": "gte_SetRotTransMatrix"}, {"line": 4803, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 4811, "action": "call", "name": "gte_stlvnl"}, {"line": 4817, "action": "call", "name": "gte_stflg"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:10", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/md_MAIN_019/md_MAIN_019.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.40920114517211914, "record": {"deleted": 2, "renamed_defs": 0, "use_renames": 0, "direct_calls": 3, "direct_levers": 3, "direct_none": 0, "marked": 3, "defs": [{"name": "gte_SetRotMatrix", "l0": 300, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetRotMatrix", "l0": 414, "action": "deleted", "canonical": "gte_SetRotMatrix"}], "direct": [{"line": 458, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 471, "action": "call", "name": "gte_stclmv"}, {"line": 481, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 494, "action": "call", "name": "gte_stclmv"}, {"line": 504, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 517, "action": "call", "name": "gte_stclmv"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:10", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/md_MAIN_031/md_MAIN_031.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 7, "seconds": 0.8266425132751465, "record": {"deleted": 5, "renamed_defs": 3, "use_renames": 32, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 12, "defs": [{"name": "SETROT_A", "l0": 347, "action": "renamed", "variant": "gte_SetRotMatrix_m", "canonical": "gte_SetRotMatrix"}, {"name": "LDV_A", "l0": 360, "action": "renamed", "variant": "gte_ldv0_m", "canonical": "gte_ldv0"}, {"name": "MVMVA_A", "l0": 365, "action": "renamed", "variant": "gte_rtv0_m", "canonical": "gte_rtv0"}, {"name": "STSV_A", "l0": 371, "action": "deleted", "canonical": "gte_stsv"}, {"name": "SETROT_A", "l0": 451, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "LDV_A", "l0": 464, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "MVMVA_A", "l0": 469, "action": "deleted", "canonical": "gte_rtv0"}, {"name": "STSV_A", "l0": 475, "action": "deleted", "canonical": "gte_stsv"}], "direct": [], "kept": 0, "variants_freed": 3, "variants_kept": 3}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:11", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_089/ov_SC03_089_jr_80185E50.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.1785111427307129, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 4911, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4917, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4927, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4928, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4930, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4936, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 4944, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4953, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:12", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_090/ov_SC03_090_jr_80188274.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20436954498291016, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 4939, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4945, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4955, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4956, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4958, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4964, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 4972, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4981, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:12", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018911C.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.20154452323913574, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv0", "l0": 4903, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_ldv3", "l0": 4909, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtps", "l0": 4919, "action": "deleted", "canonical": "gte_rtps"}, {"name": "gte_rtpt", "l0": 4920, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy", "l0": 4922, "action": "deleted", "canonical": "gte_stsxy"}, {"name": "gte_stsxy3", "l0": 4928, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 4936, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 4945, "action": "deleted", "canonical": "gte_stflg"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:13", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_117/ov_SC03_117_jr_80181C80.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 7, "seconds": 1.3275299072265625, "record": {"deleted": 8, "renamed_defs": 0, "use_renames": 8, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "SRM_80186B78", "l0": 3096, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 3108, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 3529, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 3541, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "SRM_80186B78", "l0": 3549, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "STM_80186B78", "l0": 3561, "action": "deleted", "canonical": "gte_SetTransMatrix"}, {"name": "gte_SetRotMatrix", "l0": 4730, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 4744, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 6, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:13", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_MAIN_012/ov_MAIN_012_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5379800796508789, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1060, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1064, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1069, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1171, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1177, "action": "call", "name": "gte_stlvnl"}, {"line": 1190, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1196, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:13", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_000/ov_SC01_000_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5518958568572998, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:14", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_001/ov_SC01_001_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5343575477600098, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:14", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_004/ov_SC01_004_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.7196297645568848, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:14", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_005/ov_SC01_005_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 6, "seconds": 1.154994249343872, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:15", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_008/ov_SC01_008_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.524803876876831, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:15", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_009/ov_SC01_009_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5379502773284912, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:15", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_074/ov_SC01_074_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5400385856628418, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:16", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_077/ov_SC01_077_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.4406251907348633, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1276, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1281, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1287, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1425, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1431, "action": "call", "name": "gte_stlvnl"}, {"line": 1444, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1450, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:16", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_080/ov_SC01_080_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5194694995880127, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:17", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_084/ov_SC01_084_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5129668712615967, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:17", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC01_084/ov_SC01_084_jr_80182A00.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.17792701721191406, "record": {"deleted": 7, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv3", "l0": 2643, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 2653, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy3", "l0": 2655, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 2663, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 2672, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 2680, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 2695, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:18", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_000/ov_SC02_000_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 6, "seconds": 1.130152702331543, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:18", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_004/ov_SC02_004_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.4890768527984619, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:18", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_005/ov_SC02_005_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5292966365814209, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:19", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_011/ov_SC02_011_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5283794403076172, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:19", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_015/ov_SC02_015_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6853733062744141, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:19", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_016/ov_SC02_016_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5111479759216309, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:19", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_017/ov_SC02_017_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5321667194366455, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:20", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_021/ov_SC02_021_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5414597988128662, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:20", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.18816471099853516, "record": {"deleted": 7, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv3", "l0": 3191, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 3201, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy3", "l0": 3203, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 3211, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3220, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 3228, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3243, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_026/ov_SC02_026_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6142716407775879, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_027/ov_SC02_027_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5237956047058105, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:21", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_028/ov_SC02_028_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6330080032348633, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:22", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_031/ov_SC02_031_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6396293640136719, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:22", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_035/ov_SC02_035_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5585298538208008, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1014, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1019, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1025, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1122, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1128, "action": "call", "name": "gte_stlvnl"}, {"line": 1141, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1147, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:23", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_037/ov_SC02_037_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5599114894866943, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1061, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1065, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1070, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1172, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1178, "action": "call", "name": "gte_stlvnl"}, {"line": 1191, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1197, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:23", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_039/ov_SC02_039_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.7132129669189453, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:23", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC02_041/ov_SC02_041_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5659811496734619, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:23", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_001/ov_SC03_001_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5280170440673828, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:23", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_002/ov_SC03_002_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6278805732727051, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:24", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_003/ov_SC03_003_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5278170108795166, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:24", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_006/ov_SC03_006_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.714820146560669, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:24", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_007/ov_SC03_007_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6243977546691895, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:25", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_010/ov_SC03_010_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5011415481567383, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:26", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_011/ov_SC03_011_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5590927600860596, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1015, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1020, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1026, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1123, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1129, "action": "call", "name": "gte_stlvnl"}, {"line": 1142, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1148, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:26", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_012/ov_SC03_012_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5886178016662598, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:27", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_013/ov_SC03_013_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.4995381832122803, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_014/ov_SC03_014_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 6, "seconds": 1.186380386352539, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_023/ov_SC03_023_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5637798309326172, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_024/ov_SC03_024_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5722990036010742, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_028/ov_SC03_028_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5541374683380127, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_029/ov_SC03_029_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5140433311462402, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:28", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_030/ov_SC03_030_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5110018253326416, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1015, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1020, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1026, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1123, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1129, "action": "call", "name": "gte_stlvnl"}, {"line": 1142, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1148, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_031/ov_SC03_031_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.521721601486206, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_089/ov_SC03_089_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5642893314361572, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_090/ov_SC03_090_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5099575519561768, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:29", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_091/ov_SC03_091_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.571061372756958, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_092/ov_SC03_092_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.591555118560791, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:30", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_093/ov_SC03_093_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5281598567962646, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:31", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_094/ov_SC03_094_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5839571952819824, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:31", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_095/ov_SC03_095_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.49457645416259766, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_096/ov_SC03_096_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6194870471954346, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_097/ov_SC03_097_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5128617286682129, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_098/ov_SC03_098_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5145089626312256, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:32", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_099/ov_SC03_099_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5900940895080566, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:33", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_100/ov_SC03_100_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5407640933990479, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:33", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_101/ov_SC03_101_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5102987289428711, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:33", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_102/ov_SC03_102_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5290040969848633, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:33", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_103/ov_SC03_103_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.48926663398742676, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1015, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1020, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1026, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1123, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1129, "action": "call", "name": "gte_stlvnl"}, {"line": 1142, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1148, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:34", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_104/ov_SC03_104_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.48859405517578125, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:35", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_105/ov_SC03_105_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5511903762817383, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:35", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_107/ov_SC03_107_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6341900825500488, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1061, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1065, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1070, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1172, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1178, "action": "call", "name": "gte_stlvnl"}, {"line": 1191, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1197, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_108/ov_SC03_108_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5982182025909424, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_109/ov_SC03_109_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.635028600692749, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_110/ov_SC03_110_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5417892932891846, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_111/ov_SC03_111_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5876071453094482, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:36", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_112/ov_SC03_112_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.637845516204834, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_113/ov_SC03_113_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5684173107147217, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_114/ov_SC03_114_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6741549968719482, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:37", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_115/ov_SC03_115_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5455098152160645, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:38", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_116/ov_SC03_116_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6589267253875732, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:40", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_117/ov_SC03_117_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.47980642318725586, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:40", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 1, "seconds": 0.26488709449768066, "record": {"deleted": 7, "renamed_defs": 0, "use_renames": 0, "direct_calls": 0, "direct_levers": 0, "direct_none": 0, "marked": 0, "defs": [{"name": "gte_ldv3", "l0": 3872, "action": "deleted", "canonical": "gte_ldv3"}, {"name": "gte_rtpt", "l0": 3882, "action": "deleted", "canonical": "gte_rtpt"}, {"name": "gte_stsxy3", "l0": 3884, "action": "deleted", "canonical": "gte_stsxy3"}, {"name": "gte_stszotz", "l0": 3892, "action": "deleted", "canonical": "gte_stszotz"}, {"name": "gte_stflg", "l0": 3901, "action": "deleted", "canonical": "gte_stflg"}, {"name": "gte_SetRotMatrix", "l0": 3909, "action": "deleted", "canonical": "gte_SetRotMatrix"}, {"name": "gte_SetTransMatrix", "l0": 3924, "action": "deleted", "canonical": "gte_SetTransMatrix"}], "direct": [], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_118/ov_SC03_118_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 6, "seconds": 0.993868350982666, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_121/ov_SC03_121_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5359463691711426, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_124/ov_SC03_124_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5749142169952393, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC03_125/ov_SC03_125_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5958075523376465, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:41", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_000/ov_SC04_000_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.5747592449188232, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1013, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1018, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1024, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1121, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1127, "action": "call", "name": "gte_stlvnl"}, {"line": 1140, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1146, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_002/ov_SC04_002_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.7098674774169922, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_003/ov_SC04_003_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.6537935733795166, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:51:42", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/ov_SC04_004/ov_SC04_004_jr_801380E0.c", "fn": null, "addr": null, "aliases": null, "header": false, "sites": [], "compiles": 3, "seconds": 0.45003676414489746, "record": {"deleted": 3, "renamed_defs": 0, "use_renames": 1, "direct_calls": 2, "direct_levers": 2, "direct_none": 0, "marked": 2, "defs": [{"name": "gte_ldv0", "l0": 1012, "action": "deleted", "canonical": "gte_ldv0"}, {"name": "gte_mvmva0", "l0": 1017, "action": "deleted", "canonical": "gte_rtv0tr"}, {"name": "gte_stlvnl", "l0": 1023, "action": "deleted", "canonical": "gte_stlvnl"}], "direct": [{"line": 1120, "action": "lever", "variant": "gte_ldv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 1126, "action": "call", "name": "gte_stlvnl"}, {"line": 1139, "action": "lever", "variant": "gte_ldv0+gte_rtv0_m", "delta": ["memory"]}, {"line": 1145, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 2, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:53:00", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/shared/ov/func_80132784.h", "fn": null, "addr": null, "aliases": null, "header": true, "sites": [], "compiles": 141, "seconds": 55.54934096336365, "record": {"deleted": 0, "renamed_defs": 0, "use_renames": 0, "direct_calls": 8, "direct_levers": 12, "direct_none": 0, "marked": 12, "defs": [], "direct": [{"line": 72, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 78, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 83, "action": "call", "name": "gte_stclmv"}, {"line": 87, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 92, "action": "call", "name": "gte_stclmv"}, {"line": 96, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 101, "action": "call", "name": "gte_stclmv"}, {"line": 105, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 110, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 116, "action": "call", "name": "gte_stlvnl"}, {"line": 132, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 138, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 143, "action": "call", "name": "gte_stclmv"}, {"line": 147, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 152, "action": "call", "name": "gte_stclmv"}, {"line": 156, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 161, "action": "call", "name": "gte_stclmv"}, {"line": 165, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 170, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 176, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} +{"ts": "2026-09-09 05:53:04", "label": "gte1", "rung": "gte", "calib": {"head": "0bd784c64", "stamp": "b44c5a8a3423"}, "tu": "src/shared/ov/func_8012EC04.h", "fn": null, "addr": null, "aliases": null, "header": true, "sites": [], "compiles": 141, "seconds": 56.50897717475891, "record": {"deleted": 0, "renamed_defs": 0, "use_renames": 0, "direct_calls": 4, "direct_levers": 6, "direct_none": 0, "marked": 6, "defs": [], "direct": [{"line": 44, "action": "lever", "variant": "gte_SetRotMatrix_m", "delta": ["memory"]}, {"line": 51, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 56, "action": "call", "name": "gte_stclmv"}, {"line": 62, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 67, "action": "call", "name": "gte_stclmv"}, {"line": 73, "action": "lever", "variant": "gte_ldclmv+gte_rtir_m", "delta": ["memory"]}, {"line": 78, "action": "call", "name": "gte_stclmv"}, {"line": 84, "action": "lever", "variant": "gte_SetTransMatrix_m", "delta": ["memory"]}, {"line": 91, "action": "lever", "variant": "gte_ldlv0+gte_rtv0tr_m", "delta": ["memory"]}, {"line": 97, "action": "call", "name": "gte_stlvnl"}], "kept": 0, "variants_freed": 0, "variants_kept": 0}, "verdict": "CONSOLIDATED"} diff --git a/.run/P36/delever/run_gte1.log b/.run/P36/delever/run_gte1.log new file mode 100644 index 0000000000..cb9cd1222e --- /dev/null +++ b/.run/P36/delever/run_gte1.log @@ -0,0 +1,405 @@ +delever: the census describes another tree (stamp 95f31b0d3534a95a); rerun tools/lever_census.py --sites -j 16 — running the census now +gte_consolidate --apply gte1: 400 files of 644 with work (0 done) — 8141 definitions, 897 direct statements +05:49:26 src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c: CONSOLIDATED — deleted 38 defs, renamed 0, use renames 0, direct calls 4, direct levers 6, unmatched 0, marked 6 +05:49:26 src/md_MAIN_034/md_MAIN_034.c: CONSOLIDATED — deleted 94 defs, renamed 0, use renames 8, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:28 src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c: CONSOLIDATED — deleted 67 defs, renamed 0, use renames 30, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:49:28 src/ov_SC03_112/ov_SC03_112_jr_8017C294.c: CONSOLIDATED — deleted 50 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:49:29 src/ov_SC06_029/ov_SC06_029_jr_8017C954.c: CONSOLIDATED — deleted 74 defs, renamed 0, use renames 4, direct calls 1, direct levers 1, unmatched 1, marked 1 +05:49:29 src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c: CONSOLIDATED — deleted 35 defs, renamed 0, use renames 10, direct calls 5, direct levers 7, unmatched 1, marked 7 +05:49:29 src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c: CONSOLIDATED — deleted 58 defs, renamed 0, use renames 39, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:30 src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c: CONSOLIDATED — deleted 58 defs, renamed 0, use renames 39, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:30 src/ov_SC06_032/ov_SC06_032_jr_80182890.c: CONSOLIDATED — deleted 66 defs, renamed 0, use renames 0, direct calls 2, direct levers 0, unmatched 0, marked 0 +05:49:30 src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c: CONSOLIDATED — deleted 45 defs, renamed 0, use renames 42, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:49:31 src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c: CONSOLIDATED — deleted 44 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:49:31 src/ov_SC05_002/ov_SC05_002_jr_8017BEBC.c: CONSOLIDATED — deleted 46 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:31 src/ov_SC03_113/ov_SC03_113_jr_8017C294.c: CONSOLIDATED — deleted 50 defs, renamed 0, use renames 8, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:32 src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c: CONSOLIDATED — deleted 43 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:32 src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c: CONSOLIDATED — deleted 36 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:32 src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c: CONSOLIDATED — deleted 34 defs, renamed 0, use renames 0, direct calls 4, direct levers 6, unmatched 0, marked 6 +05:49:33 src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c: CONSOLIDATED — deleted 40 defs, renamed 0, use renames 39, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:33 src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c: CONSOLIDATED — deleted 37 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:34 src/ov_SC02_027/ov_SC02_027_jr_8017D898.c: CONSOLIDATED — deleted 34 defs, renamed 0, use renames 3, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:35 src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c: CONSOLIDATED — deleted 41 defs, renamed 0, use renames 38, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:35 src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 6, direct calls 14, direct levers 0, unmatched 2, marked 0 +05:49:36 src/ov_SC04_011/ov_SC04_011_jr_8017D494.c: CONSOLIDATED — deleted 46 defs, renamed 0, use renames 11, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:36 src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c: CONSOLIDATED — deleted 31 defs, renamed 0, use renames 9, direct calls 1, direct levers 2, unmatched 1, marked 2 +05:49:37 src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c: CONSOLIDATED — deleted 34 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:37 src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c: CONSOLIDATED — deleted 43 defs, renamed 0, use renames 9, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:49:37 src/md_SC07_004/md_SC07_004.c: CONSOLIDATED — deleted 33 defs, renamed 0, use renames 28, direct calls 0, direct levers 2, unmatched 0, marked 2 +05:49:38 src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 6, direct calls 14, direct levers 0, unmatched 4, marked 0 +05:49:38 src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c: CONSOLIDATED — deleted 55 defs, renamed 0, use renames 13, direct calls 2, direct levers 6, unmatched 1, marked 6 +05:49:39 src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 16, direct levers 0, unmatched 2, marked 0 +05:49:39 src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c: CONSOLIDATED — deleted 31 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:39 src/ov_SC03_103/ov_SC03_103_jr_8017C294.c: CONSOLIDATED — deleted 34 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:39 src/ov_SC03_091/ov_SC03_091_jr_8017D898.c: CONSOLIDATED — deleted 30 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:39 src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.c: CONSOLIDATED — deleted 31 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:39 src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c: CONSOLIDATED — deleted 32 defs, renamed 0, use renames 24, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:39 src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c: CONSOLIDATED — deleted 30 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:40 src/ov_SC03_104/ov_SC03_104_jr_80182038.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 4, direct levers 6, unmatched 0, marked 6 +05:49:40 src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c: CONSOLIDATED — deleted 32 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:40 src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c: CONSOLIDATED — deleted 33 defs, renamed 0, use renames 6, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:41 src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:41 src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:41 src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:41 src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:41 src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:41 src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:41 src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:41 src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:42 src/ov_SC02_037/ov_SC02_037.c: CONSOLIDATED — deleted 29 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:43 src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:43 src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:43 src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:43 src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:43 src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:43 src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:44 src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:45 src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:45 src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:45 src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:45 src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:46 src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:46 src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:47 src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:48 src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:48 src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:48 src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:49 src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:49 src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:49 src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:50 src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:50 src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:51 src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:51 src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:51 src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:51 src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:52 src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:53 src/ov_SC03_107/ov_SC03_107.c: CONSOLIDATED — deleted 29 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:49:53 src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:53 src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:54 src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:54 src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:54 src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:54 src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:54 src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:55 src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:56 src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:57 src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:58 src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:58 src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:58 src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:58 src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:58 src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:59 src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:49:59 src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:00 src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:00 src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:00 src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:00 src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:01 src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:02 src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:03 src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:03 src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:03 src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:03 src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:04 src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:05 src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:05 src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:05 src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:05 src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:05 src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:06 src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:07 src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:08 src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:08 src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:08 src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:08 src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:09 src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:09 src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:09 src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:09 src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:10 src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:10 src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:10 src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:13 src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:13 src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:13 src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:13 src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:14 src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:14 src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:14 src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:14 src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:14 src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:15 src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:15 src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:16 src/ov_SC06_008/ov_SC06_008_jr_8017C294.c: CONSOLIDATED — deleted 27 defs, renamed 1, use renames 12, direct calls 0, direct levers 0, unmatched 0, marked 6 +05:50:17 src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:17 src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:17 src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:17 src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:17 src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:18 src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:19 src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:19 src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:19 src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:20 src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:20 src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:21 src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:21 src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:21 src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c: CONSOLIDATED — deleted 23 defs, renamed 0, use renames 1, direct calls 3, direct levers 1, unmatched 0, marked 1 +05:50:21 src/ov_SC02_028/ov_SC02_028_jr_8017D898.c: CONSOLIDATED — deleted 24 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:21 src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:22 src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:23 src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c: CONSOLIDATED — deleted 22 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:50:23 src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:24 src/ov_SC03_097/ov_SC03_097_jr_8017D898.c: CONSOLIDATED — deleted 24 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:24 src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.c: CONSOLIDATED — deleted 27 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:25 src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c: CONSOLIDATED — deleted 22 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:25 src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c: CONSOLIDATED — deleted 23 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:25 src/ov_SC02_021/ov_SC02_021_jr_8017C294.c: CONSOLIDATED — deleted 23 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:25 src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c: CONSOLIDATED — deleted 22 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:50:26 src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c: CONSOLIDATED — deleted 24 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:27 src/ov_SC02_026/ov_SC02_026_jr_8017C180.c: CONSOLIDATED — deleted 18 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 4, marked 0 +05:50:27 src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c: CONSOLIDATED — deleted 25 defs, renamed 0, use renames 12, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:27 src/ov_SC04_006/ov_SC04_006_jr_8017BEBC.c: CONSOLIDATED — deleted 18 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 3, marked 0 +05:50:27 src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 6, direct calls 0, direct levers 0, unmatched 4, marked 0 +05:50:28 src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 1, direct calls 1, direct levers 2, unmatched 0, marked 2 +05:50:28 src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c: CONSOLIDATED — deleted 21 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:29 src/ov_SC03_107/ov_SC03_107_jr_801789AC.c: CONSOLIDATED — deleted 28 defs, renamed 0, use renames 8, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:29 src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c: CONSOLIDATED — deleted 22 defs, renamed 0, use renames 6, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:29 src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 5, marked 0 +05:50:30 src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c: CONSOLIDATED — deleted 22 defs, renamed 0, use renames 4, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:30 src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c: CONSOLIDATED — deleted 22 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:30 src/ov_SC06_033/ov_SC06_033_jr_80186574.c: CONSOLIDATED — deleted 22 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:31 src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c: CONSOLIDATED — deleted 21 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:32 src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:32 src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:32 src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:32 src/ov_SC03_093/ov_SC03_093_jr_8017D898.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:33 src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:34 src/ov_SC03_100/ov_SC03_100_jr_8017D898.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:34 src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:34 src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:34 src/ov_SC03_098/ov_SC03_098_jr_8017D898.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:34 src/ov_SC03_109/ov_SC03_109_jr_8017C180.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:36 src/ov_MAIN_012/ov_MAIN_012.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:36 src/md_SC07_003/md_SC07_003.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:37 src/ov_SC07_007/ov_SC07_007.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:37 src/ov_SC03_105/ov_SC03_105_jr_80181C84.c: CONSOLIDATED — deleted 20 defs, renamed 0, use renames 44, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:37 src/ov_SC03_010/ov_SC03_010_jr_8017C730.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:50:38 src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:39 src/ov_SC05_005/ov_SC05_005_jr_8017D898.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 2, marked 0 +05:50:39 src/ov_SC07_006/ov_SC07_006.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:39 src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.c: CONSOLIDATED — deleted 18 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:39 src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:39 src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c: CONSOLIDATED — deleted 19 defs, renamed 1, use renames 12, direct calls 0, direct levers 0, unmatched 0, marked 6 +05:50:40 src/ov_SC03_092/ov_SC03_092_jr_80181694.c: CONSOLIDATED — deleted 18 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:40 src/ov_SC03_091/ov_SC03_091_jr_8018326C.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 4, direct levers 6, unmatched 0, marked 6 +05:50:40 src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c: CONSOLIDATED — deleted 18 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:41 src/ov_SC07_010/ov_SC07_010.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:41 src/ov_SC03_013/ov_SC03_013_jr_8017C730.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:42 src/ov_SC07_011/ov_SC07_011.c: CONSOLIDATED — deleted 19 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:42 src/ov_SC01_001/ov_SC01_001_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:42 src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:50:43 src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:43 src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 1, unmatched 0, marked 1 +05:50:43 src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 1, unmatched 0, marked 1 +05:50:44 src/ov_SC06_015/ov_SC06_015_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 1, unmatched 0, marked 1 +05:50:44 src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:44 src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:50:45 src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:45 src/ov_SC01_004/ov_SC01_004_jr_8017BE9C.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:45 src/ov_SC01_005/ov_SC01_005_jr_8017C340.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:46 src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:46 src/ov_SC03_011/ov_SC03_011_jr_8017C730.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:46 src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:47 src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:47 src/ov_SC03_002/ov_SC03_002_jr_8017D604.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:48 src/ov_SC03_003/ov_SC03_003_jr_8017D5C0.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:48 src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:48 src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:48 src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:49 src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:50 src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:50 src/ov_SC03_110/ov_SC03_110_jr_8017D898.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:50 src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:50 src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:50 src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:51 src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:51 src/ov_SC03_126/ov_SC03_126_jr_8017D5C0.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:52 src/ov_SC03_125/ov_SC03_125_jr_8017D604.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:52 src/ov_SC04_021/ov_SC04_021_jr_8017D5C0.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:53 src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:53 src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:53 src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:53 src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:54 src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:54 src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:55 src/ov_SC04_020/ov_SC04_020_jr_8017D604.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:55 src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:55 src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:55 src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:55 src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:55 src/ov_SC05_018/ov_SC05_018_jr_8017D604.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:56 src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:56 src/ov_SC05_019/ov_SC05_019_jr_8017D5C0.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:57 src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:57 src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:57 src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:58 src/ov_SC06_029/ov_SC06_029_jr_801867D0.c: CONSOLIDATED — deleted 17 defs, renamed 0, use renames 2, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:59 src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:59 src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:59 src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:50:59 src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:00 src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:00 src/ov_SC07_008/ov_SC07_008_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:01 src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:01 src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:01 src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:01 src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:02 src/ov_SC07_011/ov_SC07_011_jr_8017BEBC.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:03 src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:03 src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:03 src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:04 src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:04 src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:04 src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:04 src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:05 src/ov_SC02_011/ov_SC02_011_jr_80183178.c: CONSOLIDATED — deleted 11 defs, renamed 0, use renames 2, direct calls 1, direct levers 3, unmatched 0, marked 3 +05:51:05 src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:05 src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:06 src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c: CONSOLIDATED — deleted 16 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:06 src/ov_SC06_024/ov_SC06_024_jr_801851E0.c: CONSOLIDATED — deleted 0 defs, renamed 0, use renames 0, direct calls 14, direct levers 0, unmatched 0, marked 0 +05:51:06 src/ov_SC02_037/ov_SC02_037_jr_80131340.c: CONSOLIDATED — deleted 12 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:51:08 src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c: CONSOLIDATED — deleted 12 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:51:08 src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c: CONSOLIDATED — deleted 14 defs, renamed 0, use renames 4, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:08 src/ov_SC06_022/ov_SC06_022_jr_80182D08.c: CONSOLIDATED — deleted 0 defs, renamed 0, use renames 0, direct calls 14, direct levers 0, unmatched 0, marked 0 +05:51:08 src/ov_SC03_107/ov_SC03_107_jr_80131340.c: CONSOLIDATED — deleted 12 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:51:09 src/ov_SC03_014/ov_SC03_014_jr_801848E4.c: CONSOLIDATED — deleted 13 defs, renamed 0, use renames 12, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:09 src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c: CONSOLIDATED — deleted 12 defs, renamed 0, use renames 8, direct calls 0, direct levers 0, unmatched 1, marked 0 +05:51:09 src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c: CONSOLIDATED — deleted 14 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:09 src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c: CONSOLIDATED — deleted 13 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:10 src/ov_SC06_033/ov_SC06_033_jr_801836FC.c: CONSOLIDATED — deleted 0 defs, renamed 0, use renames 0, direct calls 14, direct levers 0, unmatched 0, marked 0 +05:51:10 src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c: CONSOLIDATED — deleted 13 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:11 src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c: CONSOLIDATED — deleted 13 defs, renamed 0, use renames 14, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:12 src/ov_SC02_005/ov_SC02_005_jr_80185E80.c: CONSOLIDATED — deleted 0 defs, renamed 0, use renames 0, direct calls 6, direct levers 3, unmatched 0, marked 3 +05:51:12 src/ov_SC02_000/ov_SC02_000_jr_8018173C.c: CONSOLIDATED — deleted 11 defs, renamed 0, use renames 1, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:13 src/ov_SC07_011/ov_SC07_011_jr_80131340.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:51:13 src/ov_SC07_007/ov_SC07_007_jr_80131340.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:51:13 src/ov_SC03_089/ov_SC03_089_jr_80185E50.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:13 src/ov_SC07_006/ov_SC07_006_jr_80131340.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:51:14 src/ov_SC07_010/ov_SC07_010_jr_80131340.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 1, direct levers 0, unmatched 1, marked 0 +05:51:14 src/md_MAIN_019/md_MAIN_019.c: CONSOLIDATED — deleted 2 defs, renamed 0, use renames 0, direct calls 3, direct levers 3, unmatched 0, marked 3 +05:51:15 src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c: CONSOLIDATED — deleted 10 defs, renamed 0, use renames 12, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:15 src/md_MAIN_031/md_MAIN_031.c: CONSOLIDATED — deleted 5 defs, renamed 3, use renames 32, direct calls 0, direct levers 0, unmatched 0, marked 12 +05:51:15 src/ov_SC03_090/ov_SC03_090_jr_80188274.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:16 src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c: CONSOLIDATED — deleted 10 defs, renamed 0, use renames 12, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:16 src/ov_SC03_091/ov_SC03_091_jr_8018911C.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:17 src/ov_SC01_000/ov_SC01_000_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:17 src/ov_SC01_008/ov_SC01_008_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:18 src/ov_SC01_001/ov_SC01_001_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:18 src/ov_MAIN_012/ov_MAIN_012_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:18 src/ov_SC01_004/ov_SC01_004_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:19 src/ov_SC01_077/ov_SC01_077_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:19 src/ov_SC01_074/ov_SC01_074_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:19 src/ov_SC03_117/ov_SC03_117_jr_80181C80.c: CONSOLIDATED — deleted 8 defs, renamed 0, use renames 8, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:19 src/ov_SC01_009/ov_SC01_009_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:20 src/ov_SC01_005/ov_SC01_005_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:20 src/ov_SC01_080/ov_SC01_080_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:21 src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c: CONSOLIDATED — deleted 7 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:21 src/ov_SC01_084/ov_SC01_084_jr_80182A00.c: CONSOLIDATED — deleted 7 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:21 src/ov_SC02_011/ov_SC02_011_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:22 src/ov_SC01_084/ov_SC01_084_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:22 src/ov_SC02_004/ov_SC02_004_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:23 src/ov_SC02_026/ov_SC02_026_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:23 src/ov_SC02_005/ov_SC02_005_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:23 src/ov_SC02_015/ov_SC02_015_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:23 src/ov_SC02_000/ov_SC02_000_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:23 src/ov_SC02_017/ov_SC02_017_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:24 src/ov_SC02_016/ov_SC02_016_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:24 src/ov_SC02_027/ov_SC02_027_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:24 src/ov_SC02_021/ov_SC02_021_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:25 src/ov_SC02_028/ov_SC02_028_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:26 src/ov_SC02_035/ov_SC02_035_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:26 src/ov_SC02_041/ov_SC02_041_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:27 src/ov_SC02_031/ov_SC02_031_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:28 src/ov_SC03_001/ov_SC03_001_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:28 src/ov_SC02_039/ov_SC02_039_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:28 src/ov_SC02_037/ov_SC02_037_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:28 src/ov_SC03_010/ov_SC03_010_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:28 src/ov_SC03_003/ov_SC03_003_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:28 src/ov_SC03_002/ov_SC03_002_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:29 src/ov_SC03_011/ov_SC03_011_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:29 src/ov_SC03_012/ov_SC03_012_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:29 src/ov_SC03_007/ov_SC03_007_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:29 src/ov_SC03_006/ov_SC03_006_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:30 src/ov_SC03_013/ov_SC03_013_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:30 src/ov_SC03_024/ov_SC03_024_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:31 src/ov_SC03_014/ov_SC03_014_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:31 src/ov_SC03_030/ov_SC03_030_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:31 src/ov_SC03_031/ov_SC03_031_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:31 src/ov_SC03_091/ov_SC03_091_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:32 src/ov_SC03_023/ov_SC03_023_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:32 src/ov_SC03_029/ov_SC03_029_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:33 src/ov_SC03_028/ov_SC03_028_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:33 src/ov_SC03_092/ov_SC03_092_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:33 src/ov_SC03_093/ov_SC03_093_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:33 src/ov_SC03_089/ov_SC03_089_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:34 src/ov_SC03_090/ov_SC03_090_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:35 src/ov_SC03_095/ov_SC03_095_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:35 src/ov_SC03_094/ov_SC03_094_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:36 src/ov_SC03_096/ov_SC03_096_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:36 src/ov_SC03_098/ov_SC03_098_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:36 src/ov_SC03_104/ov_SC03_104_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:36 src/ov_SC03_097/ov_SC03_097_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:36 src/ov_SC03_102/ov_SC03_102_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:37 src/ov_SC03_101/ov_SC03_101_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:37 src/ov_SC03_099/ov_SC03_099_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:37 src/ov_SC03_100/ov_SC03_100_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:38 src/ov_SC03_103/ov_SC03_103_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:40 src/ov_SC03_107/ov_SC03_107_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:40 src/ov_SC03_108/ov_SC03_108_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:41 src/ov_SC03_105/ov_SC03_105_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:41 src/ov_SC03_111/ov_SC03_111_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:41 src/ov_SC03_110/ov_SC03_110_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:41 src/ov_SC03_109/ov_SC03_109_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:41 src/ov_SC03_112/ov_SC03_112_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:42 src/ov_SC03_114/ov_SC03_114_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:42 src/ov_SC03_113/ov_SC03_113_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:42 src/ov_SC03_115/ov_SC03_115_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:43 src/ov_SC03_116/ov_SC03_116_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:43 src/ov_SC03_117/ov_SC03_117_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:44 src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c: CONSOLIDATED — deleted 7 defs, renamed 0, use renames 0, direct calls 0, direct levers 0, unmatched 0, marked 0 +05:51:45 src/ov_SC04_000/ov_SC04_000_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:45 src/ov_SC04_002/ov_SC04_002_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:46 src/ov_SC04_003/ov_SC04_003_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:46 src/ov_SC03_121/ov_SC03_121_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:46 src/ov_SC03_125/ov_SC03_125_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:46 src/ov_SC03_124/ov_SC03_124_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:46 src/ov_SC03_118/ov_SC03_118_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:51:46 src/ov_SC04_004/ov_SC04_004_jr_801380E0.c: CONSOLIDATED — deleted 3 defs, renamed 0, use renames 1, direct calls 2, direct levers 2, unmatched 0, marked 2 +05:53:00 src/800.c: CONSOLIDATED — deleted 349 defs, renamed 0, use renames 237, direct calls 29, direct levers 19, unmatched 11, marked 19 +05:53:04 src/shared/ov/func_80132784.h: CONSOLIDATED — deleted 0 defs, renamed 0, use renames 0, direct calls 8, direct levers 12, unmatched 0, marked 12 +05:53:09 src/shared/ov/func_8012EC04.h: CONSOLIDATED — deleted 0 defs, renamed 0, use renames 0, direct calls 4, direct levers 6, unmatched 0, marked 6 +05:53:09 gte_consolidate: batch gte1 — 400 files: 400 consolidated, 0 defs-only, 0 unchanged, 0 refused, 0 no-recipe · definitions deleted 8056 / renamed as lever variants 5 (variant trials: 416 freed, 5 kept) · header-bound definitions kept 80 · use renames 930 · direct statements → calls 460 / lever 252 / unmatched 185 · markers 276 · compiles 1146 · final 400/400 identical +gte1 wall=298.10 s +exit=0 diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index 09a73e071c..c100474817 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -440,7 +440,9 @@ accumulate here as the phase produces them.** `.run/P36/baseline/r22_t5_header.log`)**. Census after the header step (before any apply): GTE levers (clobbers beyond the canonical macro's): 49 sites (0 via a variant macro, 49 direct) · marked 0 · UNMARKED 49 · unsigned GTE statements 3 · per-TU asm macro definitions outside the GTE header: 9,540 {'gte': 9102, 'launder': 428, 'instruction': 9, 'barrier': 1} (GTE variants 0). Next: the apply batches (`tools/delever_cycle.sh 1 4 400 gte`, detached), then `--sweep`, then the T5 verify line. -## 🛑 SESSION CHECKPOINT — S98 (2026-09-09): T0 ☑ T1 ☑ T1b ☑ T2 ☑ T3 ☑ T4 ☑ — all committed (T4 = 13 batch commits `a605e1dba`…`f087282a3` + the tool commits; this close); NEXT = T5 the GTE consolidation + the dead lever-macro sweep | the number: 33,625 sites in 12,501 bodies (1,728 distinct) · marked 33,625 · UNMARKED 0 · orphans 0 — `lever_census --check` OK +- **2026-09-09 — T5 batch `gte1`** (`.run/P36/delever/run_gte1.log`, `batch_gte1.json`): `gte_consolidate: batch gte1 — 400 files: 400 consolidated, 0 defs-only, 0 unchanged, 0 refused, 0 no-recipe · definitions deleted 8056 / renamed as lever variants 5 (variant trials: 416 freed, 5 kept) · header-bound definitions kept 80 · use renames 930 · direct statements → calls 460 / lever 252 / unmatched 185 · markers 276 · compiles 1146 · final 400/400 identical` → R22 (`.run/P36/baseline/r22_gte1.log`) **`check-all: 218 passed, 0 failed of 218`** (`wall=117.27 s`) → census `THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 33,901 sites in 12,601 bodies (1,756 distinct) · marked !FAKE 33,665 · UNMARKED 236`. + +## 🛑 SESSION CHECKPOINT — S98 (2026-09-09): T0 ☑ T1 ☑ T1b ☑ T2 ☑ T3 ☑ T4 ☑ — all committed (T4 = 13 batch commits `a605e1dba`…`f087282a3` + the tool commits; this close); NEXT = T5 the GTE consolidation + the dead lever-macro sweep | the number: 33,625 sites in 12,501 bodies (1,728 distinct) · marked 33,625 · UNMARKED 0 · orphans 0 — `lever_census --check` OK | last batch `gte1` on 0bd784c64: THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 33,901 sites in 12,601 bodies (1,756 distinct) · marked !FAKE 33,665 · UNMARKED 236 ### 0. How to use this block A fresh session reads CLAUDE.md's load order, replays this block verbatim, confirms the effort (T5/T6/T8/T9 xHigh per the plan; S98 ran diff --git a/src/800.c b/src/800.c index ca09db3b12..597d7badea 100644 --- a/src/800.c +++ b/src/800.c @@ -874,7 +874,7 @@ s32 func_80013478(void) { __asm__ volatile("lwc2 $9, 0(%0)\n\tlwc2 $10, 4(%0)\n\tlwc2 $11, 8(%0)" : : "r"(diff)); __asm__ volatile("nop\n\tnop\n\tsqr 0"); - __asm__ volatile("swc2 $25, 0(%0)\n\tswc2 $26, 4(%0)\n\tswc2 $27, 8(%0)" : : "r"(result) : "memory"); + gte_stlvnl(result); return result[0] + result[1] + result[2]; } @@ -1115,20 +1115,7 @@ void func_8001382C(s16 angle, void *a1, void *a2) *(s16 *)((s32)rot + 0x0E) = 0; *(s16 *)((s32)rot + 0x10) = cos_val; - __asm__ __volatile__( - "lw $12, 0(%0);" - "lw $13, 4(%0);" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8(%0);" - "lw $13, 12(%0);" - "lw $14, 16(%0);" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4;" - : - : "r"(matrix) - : "$12", "$13", "$14"); + gte_SetRotMatrix(matrix); __asm__ __volatile__( "lhu $12, 0(%0);" @@ -1139,20 +1126,11 @@ void func_8001382C(s16 angle, void *a1, void *a2) "mtc2 $14, $11;" : : "r"(rotp) - : "$12", "$13", "$14", "memory"); + : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv_m) beyond Sony's (P36 T5 gte1) - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); + gte_rtir(); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0(%0);" - "sh $13, 6(%0);" - "sh $14, 12(%0);" - : - : "r"(&matrix[0]) - : "$12", "$13", "$14", "memory"); + gte_stclmv(&matrix[0]); __asm__ __volatile__( "lhu $12, 0(%0);" @@ -1163,20 +1141,11 @@ void func_8001382C(s16 angle, void *a1, void *a2) "mtc2 $14, $11;" : : "r"(&rot[1]) - : "$12", "$13", "$14", "memory"); + : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv_m) beyond Sony's (P36 T5 gte1) - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); + gte_rtir(); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0(%0);" - "sh $13, 6(%0);" - "sh $14, 12(%0);" - : - : "r"(&matrix[1]) - : "$12", "$13", "$14", "memory"); + gte_stclmv(&matrix[1]); __asm__ __volatile__( "lhu $12, 0(%0);" @@ -1187,63 +1156,19 @@ void func_8001382C(s16 angle, void *a1, void *a2) "mtc2 $14, $11;" : : "r"(&rot[2]) - : "$12", "$13", "$14", "memory"); + : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv_m) beyond Sony's (P36 T5 gte1) - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); + gte_rtir(); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0(%0);" - "sh $13, 6(%0);" - "sh $14, 12(%0);" - : - : "r"(&matrix[2]) - : "$12", "$13", "$14", "memory"); + gte_stclmv(&matrix[2]); func_8001282C(matrix); func_800484EC(matrix, a1, a2); } -#define gte_SetRotMatrix_139C8(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldclmv_139C8(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtir_139C8() __asm__ volatile ("nop;nop;mvmva 1, 0, 3, 3, 0") -#define gte_stclmv_139C8(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) typedef struct { s16 m[3][3]; @@ -1278,16 +1203,16 @@ void func_800139C8(s16 param_1, void *param_2, void *param_3) rotm.m[1][2] = 0; rotm.m[2][1] = 0; - gte_SetRotMatrix_139C8(ip); - gte_ldclmv_139C8(rp); - gte_rtir_139C8(); - gte_stclmv_139C8(ip); - gte_ldclmv_139C8(rp + 1); - gte_rtir_139C8(); - gte_stclmv_139C8(ip + 1); - gte_ldclmv_139C8(rp + 2); - gte_rtir_139C8(); - gte_stclmv_139C8(ip + 2); + gte_SetRotMatrix(ip); + gte_ldclmv(rp); + gte_rtir(); + gte_stclmv(ip); + gte_ldclmv(rp + 1); + gte_rtir(); + gte_stclmv(ip + 1); + gte_ldclmv(rp + 2); + gte_rtir(); + gte_stclmv(ip + 2); func_8001282C(ip); ApplyMatrixSV(ip, param_2, param_3); @@ -1398,38 +1323,9 @@ void func_80013B64(s32 param_1, s32 param_2, s32 param_3) } -#define gte_SetRotMatrixX(r0) __asm__ __volatile__ ( \ - "lw $12, 0(%0);" \ - "lw $13, 4(%0);" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8(%0);" \ - "lw $13, 12(%0);" \ - "lw $14, 16(%0);" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"(r0) : "$12", "$13", "$14") -#define gte_ldclmvX(r0) __asm__ __volatile__ ( \ - "lhu $12, 0(%0);" \ - "lhu $13, 6(%0);" \ - "lhu $14, 12(%0);" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : : "r"(r0) : "$12", "$13", "$14") -#define gte_rtirX() __asm__ __volatile__ ("nop; nop; mvmva 1, 0, 3, 3, 0") -#define gte_stclmvX(r0) __asm__ __volatile__ ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0(%0);" \ - "sh $13, 6(%0);" \ - "sh $14, 12(%0)" \ - : : "r"(r0) : "$12", "$13", "$14") void func_80013CFC(short param_1, void *param_2, void *param_3) { @@ -1459,16 +1355,16 @@ void func_80013CFC(short param_1, void *param_2, void *param_3) *(s16 *)((s32)rot + 0x0C) = 0; *(s16 *)((s32)rot + 0x0E) = 0; - gte_SetRotMatrixX(matp); - gte_ldclmvX(rotp); - gte_rtirX(); - gte_stclmvX(matp); - gte_ldclmvX(rotp + 1); - gte_rtirX(); - gte_stclmvX(matp + 1); - gte_ldclmvX(rotp + 2); - gte_rtirX(); - gte_stclmvX(matp + 2); + gte_SetRotMatrix(matp); + gte_ldclmv(rotp); + gte_rtir(); + gte_stclmv(matp); + gte_ldclmv(rotp + 1); + gte_rtir(); + gte_stclmv(matp + 1); + gte_ldclmv(rotp + 2); + gte_rtir(); + gte_stclmv(matp + 2); func_8001282C(matp); ApplyMatrixSV(matp, param_2, param_3); @@ -4267,53 +4163,12 @@ extern void SetLineG4(LineG4_80016C28 *p); extern void func_80017E8C(s32 arg0); extern void func_80018094(void *p, s32 otz, u32 flags); -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80016C28(Src_80016C28 *arg0, s32 arg1) { @@ -4467,53 +4322,12 @@ void func_80016EF8(void *arg0, s32 arg1) /* ---- PsyQ GTE inline macros (same spelling as the matched ov_SC03_* TUs) ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- types ---- */ typedef struct { @@ -4916,30 +4730,15 @@ void func_8001751C(s32 *arg0, s32 arg1) func_80017E8C(arg1); va1 = arg0 + 2; va2 = arg0 + 4; - __asm__ volatile ( - "lwc2 $0, 0( %0 );" - "lwc2 $1, 4( %0 );" - "lwc2 $2, 0( %1 );" - "lwc2 $3, 4( %1 );" - "lwc2 $4, 0( %2 );" - "lwc2 $5, 4( %2 )" - : : "r"(arg0), "r"(va1), "r"(va2)); - __asm__ volatile ("nop;nop;rtpt"); + gte_ldv3(arg0, va1, va2); + gte_rtpt(); d0 = p + 8; d1 = p + 20; d2 = p + 32; - __asm__ volatile ( - "swc2 $12, 0( %0 );" - "swc2 $13, 0( %1 );" - "swc2 $14, 0( %2 )" - : : "r"(d0), "r"(d1), "r"(d2) : "memory"); + gte_stsxy3(d0, d1, d2); __asm__ volatile ("swc2 $8, 0( %0 )" : : "r"(&sz) : "memory"); - __asm__ volatile ( - "cfc2 $12, $31;nop;sw $12, 0( %0 )" - : : "r"(&flag) : "$12", "memory"); - __asm__ volatile ( - "mfc2 $12, $19;nop;sra $12, $12, 2;sw $12, 0( %0 )" - : : "r"(&otz) : "$12", "memory"); + gte_stflg(&flag); + gte_stszotz(&otz); } else { *(u32 *)(p + 8) = *(u32 *)(arg0 + 0); *(u32 *)(p + 20) = *(u32 *)(arg0 + 2); @@ -5144,53 +4943,12 @@ typedef struct { u16 pad3; /* 0x32 */ } GT4_80017930; /* 0x34 */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80017930(Src_80017930 *arg0, s32 arg1, s32 arg2) { @@ -10512,31 +10270,13 @@ void func_8001D70C(s32 param_1) "lw $14, 28(%0);" "ctc2 $13, $6;" "ctc2 $14, $7" - : : "r"((s32)matrix) : "$12", "$13", "$14", "$2"); + : : "r"((s32)matrix) : "$12", "$13", "$14", "$2"); // !FAKE: gte direct — clobbers ['$2'] (gte_SetRotTransMatrix_v) beyond Sony's (P36 T5 gte1) } /* ---- PsyQ GTE inline macros (same spelling as func_8001F730 / ov_SC03_* / 800.c gte_ldv0) ---- */ -#define LDV0_8001D8C4(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define MVMVA_8001D8C4() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : : : "memory" ) -#define STMAC123_8001D8C4(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8001D8C4(s32 a0, u8 * a1_p, u8 * a2_p) { s32 a1 = (s32)a1_p; @@ -10564,27 +10304,27 @@ void func_8001D8C4(s32 a0, u8 * a1_p, u8 * a2_p) { sv[1][2] = z; sv[0][2] = z; - LDV0_8001D8C4(sv[0]); - MVMVA_8001D8C4(); - STMAC123_8001D8C4(out); + gte_ldv0(sv[0]); + gte_rtv0tr(); + gte_stlvnl(out); *(s16 *)(a2 + 0x08) = out[0]; *(s16 *)(a2 + 0x0A) = out[1]; - LDV0_8001D8C4(sv[1]); - MVMVA_8001D8C4(); - STMAC123_8001D8C4(out); + gte_ldv0(sv[1]); + gte_rtv0tr(); + gte_stlvnl(out); *(s16 *)(a2 + 0x10) = out[0]; *(s16 *)(a2 + 0x12) = out[1]; - LDV0_8001D8C4(sv[2]); - MVMVA_8001D8C4(); - STMAC123_8001D8C4(out); + gte_ldv0(sv[2]); + gte_rtv0tr(); + gte_stlvnl(out); *(s16 *)(a2 + 0x18) = out[0]; *(s16 *)(a2 + 0x1A) = out[1]; - LDV0_8001D8C4(sv[3]); - MVMVA_8001D8C4(); - STMAC123_8001D8C4(out); + gte_ldv0(sv[3]); + gte_rtv0tr(); + gte_stlvnl(out); *(s16 *)(a2 + 0x20) = out[0]; *(s16 *)(a2 + 0x22) = out[1]; } @@ -10641,43 +10381,10 @@ void func_8001E094(s32 arg0); void func_8001E378(s32 param_1); s32 func_8001E668(); -#define SETROT_DA34(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define LDCLMV_DA34(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define RTIR_DA34() __asm__ volatile ("nop;nop;mvmva 1, 0, 3, 3, 0") -#define STCLMV_DA34(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : : "r"( r0 ) : "$12", "$13", "$14", "memory" ) -#define LDV0_DA34(r0) __asm__ volatile ("lwc2 $0, 0( %0 );lwc2 $1, 4( %0 )" : : "r"( r0 ) : "memory") -#define LDRGB_DA34(r0) __asm__ volatile ("lwc2 $6, 0( %0 )" : : "r"( r0 ) : "memory") -#define NCCS_DA34() __asm__ volatile ("nop;nop;nccs") -#define STRGB_DA34(r0) __asm__ volatile ("swc2 $22, 0( %0 )" : : "r"( r0 ) : "memory") void func_8001DA34(s32 param_1) { @@ -10725,18 +10432,18 @@ void func_8001DA34(s32 param_1) if (src != 0) { mtx[1] = *src; pa = &mtx[1].m[0][0]; - SETROT_DA34(&D_800A63F0); - LDCLMV_DA34(pa); RTIR_DA34(); STCLMV_DA34(pa); - LDCLMV_DA34(pa + 1); RTIR_DA34(); STCLMV_DA34(pa + 1); - LDCLMV_DA34(pa + 2); RTIR_DA34(); STCLMV_DA34(pa + 2); + gte_SetRotMatrix(&D_800A63F0); + gte_ldclmv(pa); gte_rtir(); gte_stclmv(pa); + gte_ldclmv(pa + 1); gte_rtir(); gte_stclmv(pa + 1); + gte_ldclmv(pa + 2); gte_rtir(); gte_stclmv(pa + 2); func_8004917C(pa); } else { pb = &mtx[1].m[0][0]; func_8004978C((s16 *)(param_1 + 0x10), pb); - SETROT_DA34(&D_800A63F0); - LDCLMV_DA34(pb); RTIR_DA34(); STCLMV_DA34(pb); - LDCLMV_DA34(pb + 1); RTIR_DA34(); STCLMV_DA34(pb + 1); - LDCLMV_DA34(pb + 2); RTIR_DA34(); STCLMV_DA34(pb + 2); + gte_SetRotMatrix(&D_800A63F0); + gte_ldclmv(pb); gte_rtir(); gte_stclmv(pb); + gte_ldclmv(pb + 1); gte_rtir(); gte_stclmv(pb + 1); + gte_ldclmv(pb + 2); gte_rtir(); gte_stclmv(pb + 2); func_8004917C(pb); } } @@ -10813,10 +10520,10 @@ void func_8001DA34(s32 param_1) cin[0].r = *(u8 *)(param_1 + 0x24); cin[0].g = *(u8 *)(param_1 + 0x25); cin[0].b = *(u8 *)(param_1 + 0x26); - LDV0_DA34(&nrm); - LDRGB_DA34(&cin[0]); - NCCS_DA34(); - STRGB_DA34(&cout[0]); + gte_ldv0(&nrm); + gte_ldrgb(&cin[0]); + gte_nccs(); + gte_strgb(&cout[0]); prim[4] = cout[0].r; prim[5] = cout[0].g; prim[6] = cout[0].b; @@ -10875,38 +10582,29 @@ void func_8001E094(s32 arg0) "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 *)(arg0 + 0x34)) : "$12", "$13", "$14", "memory"); + : : "r"(*(s32 *)(arg0 + 0x34)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* res = obj->mat * sc, column by column */ __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)sc) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s32)res) : "$12", "$13", "$14", "memory"); + : : "r"((s32)sc) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)res); __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)sc + 2) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s32)res + 2) : "$12", "$13", "$14", "memory"); + : : "r"((s32)sc + 2) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)res + 2); __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)sc + 4) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s32)res + 4) : "$12", "$13", "$14", "memory"); + : : "r"((s32)sc + 4) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)res + 4); *(s32 *)((u8 *)res + 0x14) = *(s32 *)(*(s32 *)(arg0 + 0x34) + 0x14); *(s32 *)((u8 *)res + 0x18) = *(s32 *)(*(s32 *)(arg0 + 0x34) + 0x18); @@ -10918,44 +10616,35 @@ void func_8001E094(s32 arg0) "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"(g) : "$12", "$13", "$14", "memory"); + : : "r"(g) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) __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)res) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s32)res) : "$12", "$13", "$14", "memory"); + : : "r"((s32)res) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)res); __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)res + 2) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s32)res + 2) : "$12", "$13", "$14", "memory"); + : : "r"((s32)res + 2) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)res + 2); __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)res + 4) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s32)res + 4) : "$12", "$13", "$14", "memory"); + : : "r"((s32)res + 4) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)res + 4); /* gte_SetTransMatrix(&D_800AF648) */ __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"(g) : "$12", "$13", "$14", "memory"); + : : "r"(g) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) t = (s32)res + 0x14; __asm__ __volatile__( @@ -10963,10 +10652,8 @@ void func_8001E094(s32 arg0) "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"(t) : "$12", "$13", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"(t) : "memory"); + : : "r"(t) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl(t); /* gte_SetRotMatrix(res) ; gte_SetTransMatrix(res) */ __asm__ __volatile__( @@ -10974,12 +10661,12 @@ void func_8001E094(s32 arg0) "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)res) : "$12", "$13", "$14", "memory"); + : : "r"((s32)res) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) __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)res) : "$12", "$13", "$14", "memory"); + : : "r"((s32)res) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) } extern void func_8004978C(s16 *a0, void *a1); @@ -11181,53 +10868,12 @@ void func_8001E378(s32 param_1) /* ---- PsyQ GTE inline macros (same spelling as func_80016F18, this TU) ---- */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* GTE input vertex: {vx, vy, vz, pad} */ typedef struct { @@ -11433,104 +11079,17 @@ void func_8001E7E0(u8 *arg0) * (L6/L8), not a LUID tiebreak. */ -#define gte_SetRotMatrix_EA14(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_EA14(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0_EA14(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_EA14(r0, r1) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %1 );" \ - "lwc2 $5, 4( %1 )" \ - : \ - : "r"( r0 ), "r"( r1 ) ) -#define gte_rtps_EA14() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_EA14() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy_EA14(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy0_EA14(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy1_EA14(r0) __asm__ volatile ( \ - "swc2 $13, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_EA14(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stsz_EA14(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz_EA14(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_rt_EA14(r1, r0) __asm__ volatile ( \ - "lwc2 $0, 0( %1 );" \ - "lwc2 $1, 4( %1 );" \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 3, 0;" \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r1 ), "r"( r0 ) \ - : "memory" ) typedef struct { u16 vx, vy; } DV_EA14; /* 0x04 */ typedef struct { u16 vx, vy, vz, pad; } SV_EA14; /* 0x08 */ @@ -11629,14 +11188,14 @@ void func_8001EA14(Ent_EA14 *p) fl = p->unk04; mp = &D_800AF648; - gte_SetRotMatrix_EA14(mp); - gte_SetTransMatrix_EA14(mp); - gte_ldv0_EA14(&p->unk08); - gte_rtps_EA14(); - gte_stsxy_EA14(&sxy); - gte_stflg_EA14(&flag); - gte_stsz_EA14(&sz); - gte_stszotz_EA14(&otz); + gte_SetRotMatrix(mp); + gte_SetTransMatrix(mp); + gte_ldv0(&p->unk08); + gte_rtps(); + gte_stsxy(&sxy); + gte_stflg(&flag); + gte_stsz(&sz); + gte_stszotz(&otz); if ((flag & ~0x1000) != 0) { return; @@ -11672,8 +11231,8 @@ void func_8001EA14(Ent_EA14 *p) rot = (fl >> 24) & 3; shift = 2 - rot; - gte_SetRotMatrix_EA14(&m); - gte_SetTransMatrix_EA14(&m); + gte_SetRotMatrix(&m); + gte_SetTransMatrix(&m); fpv = rot << 7; base = fpv | 0x20; @@ -11721,19 +11280,19 @@ void func_8001EA14(Ent_EA14 *p) v[1].vy = e->h; v[1].vz = sz; if (p->unk02 == 3) { - gte_ldv3_EA14(&v[0], &v[1]); - gte_rtpt_EA14(); - gte_stsxy0_EA14(&sc0); - gte_stsxy1_EA14(&sc1); + gte_ldv3_alt(&v[0], &v[1]); + gte_rtpt(); + gte_stsxy0(&sc0); + gte_stsxy1(&sc1); H(8) = sxy.vx + ((u16 *)&sc0)[0]; H(0xA) = sxy.vy + ((u16 *)&sc0)[1]; H(0x10) = H(8) + ((u16 *)&sc1)[0]; H(0x1A) = H(0xA) + ((u16 *)&sc1)[1]; } else { - gte_rt_EA14(&vo, &v[0]); + gte_rt_alt(&vo, &v[0]); H(8) = sxy.vx + vo.vx; H(0xA) = sxy.vy + vo.vy; - gte_rt_EA14(&vo, &v[1]); + gte_rt_alt(&vo, &v[1]); H(0x10) = H(8) + vo.vx; H(0x1A) = H(0xA) + vo.vy; } @@ -11896,65 +11455,16 @@ typedef struct { u16 x, y, z, w; } COL_8001EFE0; /* align 2 -> l typedef struct { u16 vx, vy; } XY_8001EFE0; /* 0x04 */ /* ---- GTE inline macros (house spelling, suffixed to avoid TU collisions) ---- */ -#define SRM_8001EFE0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" "ctc2 $13, $3;" "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define STM_8001EFE0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define ldv0_8001EFE0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : : "r"( r0 ) ) -#define ldv3_8001EFE0(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define rtps_8001EFE0() __asm__ volatile ("nop;nop;rtps") -#define rtpt_8001EFE0() __asm__ volatile ("nop;nop;rtpt") -#define stsxy_8001EFE0(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define stsxy0_8001EFE0(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define stsxy1_8001EFE0(r0) __asm__ volatile ( \ - "swc2 $13, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define stflg_8001EFE0(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) -#define stsz_8001EFE0(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define stszotz_8001EFE0(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) extern u8 D_800AF630[]; extern u8 D_800A6610[]; @@ -12035,15 +11545,15 @@ void func_8001EFE0(s32 arg0) p = *(u8 **)(arg0 + 0x20); if (p != NULL && func_80021174(*(s32 *)(arg0 + 0x28), (s32)&c2.workm.t[0]) != 0) { - SRM_8001EFE0(mp); - STM_8001EFE0(mp); + gte_SetRotMatrix(mp); + gte_SetTransMatrix(mp); sv.vx = sv.vy = sv.vz = 0; - ldv0_8001EFE0(&sv); - rtps_8001EFE0(); - stsxy_8001EFE0(&sv); - stflg_8001EFE0(&flag); - stsz_8001EFE0(&sz); - stszotz_8001EFE0(&otz); + gte_ldv0(&sv); + gte_rtps(); + gte_stsxy(&sv); + gte_stflg(&flag); + gte_stsz(&sz); + gte_stszotz(&otz); if ((flag & ~0x1000) == 0) { d = otz + 1; otbase = (u32 *)&D_800A6610[*(u16 *)(base + 0xA3D2) << 14]; @@ -12079,8 +11589,8 @@ void func_8001EFE0(s32 arg0) um.t[0] = 0; shift = 2 - mode; abr = (attr >> 28) & 3; - SRM_8001EFE0(&um); - STM_8001EFE0(&um); + gte_SetRotMatrix(&um); + gte_SetTransMatrix(&um); tpA = ((u8)mode << 9) | ((u8)abr << 7); tpB = ((u8)mode << 7) | ((u8)abr << 5); tpAb = ((u8)mode << 9) | 0x80; @@ -12148,10 +11658,10 @@ void func_8001EFE0(s32 arg0) v1.vy = vh; v1.vz = sz; __asm__("" : : "r"(vh), "r"(vv2), "r"(vw)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9) - ldv3_8001EFE0(&v0, &v1, &v1); - rtpt_8001EFE0(); - stsxy0_8001EFE0(&xy0); - stsxy1_8001EFE0(&xy1); + gte_ldv3(&v0, &v1, &v1); + gte_rtpt(); + gte_stsxy0(&xy0); + gte_stsxy1(&xy1); *(u16 *)(q + 8) = *(u16 *)&xy0 + sv.vx; *(u16 *)(q + 0xA) = *((u16 *)&xy0 + 1) + sv.vy; *(u16 *)(q + 0x10) = *(u16 *)(q + 8) + *(u16 *)&xy1; @@ -12186,41 +11696,9 @@ void func_8001EFE0(s32 arg0) extern void func_80020DA4(s32 a0, s32 a1); -#define SRM_8001F730(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define LDV0_8001F730(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define RTV0_8001F730() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 3, 0" \ - : : : "memory" ) -#define STLVNL_8001F730(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8001F730(s32 a0, void *a1, void *a2) { @@ -12231,7 +11709,7 @@ void func_8001F730(s32 a0, void *a1, void *a2) u8 *p = (u8 *)a2; func_80020DA4(a0, (s32)matrix); - SRM_8001F730(matrix); + gte_SetRotMatrix(matrix); sv[0][0] = *(u16 *)(p + 0x08) - c[0]; sv[0][1] = *(u16 *)(p + 0x0A) - c[1]; @@ -12246,21 +11724,21 @@ void func_8001F730(s32 a0, void *a1, void *a2) sv[3][1] = *(u16 *)(p + 0x22) - c[1]; sv[3][2] = 0; - LDV0_8001F730(sv[0]); - RTV0_8001F730(); - STLVNL_8001F730(out[0]); + gte_ldv0(sv[0]); + gte_rtv0(); + gte_stlvnl(out[0]); - LDV0_8001F730(sv[1]); - RTV0_8001F730(); - STLVNL_8001F730(out[1]); + gte_ldv0(sv[1]); + gte_rtv0(); + gte_stlvnl(out[1]); - LDV0_8001F730(sv[2]); - RTV0_8001F730(); - STLVNL_8001F730(out[2]); + gte_ldv0(sv[2]); + gte_rtv0(); + gte_stlvnl(out[2]); - LDV0_8001F730(sv[3]); - RTV0_8001F730(); - STLVNL_8001F730(out[3]); + gte_ldv0(sv[3]); + gte_rtv0(); + gte_stlvnl(out[3]); *(u16 *)(p + 0x08) = c[0] + out[0][0]; *(u16 *)(p + 0x0A) = c[1] + out[0][1]; @@ -12800,84 +12278,13 @@ extern MTX_80020248 D_80075018[]; extern void func_80020DA4(s32 a0, s32 a1); -#define SRM_80020248(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_80020248(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define LDCLMV_80020248(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define RTIR_80020248() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 3, 3, 0" \ - : : : "memory" ) -#define STCLMV_80020248(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) -#define LDLVL_80020248(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define RT_80020248() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : : : "memory" ) -#define STLVNL_80020248(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) s32 func_80020248(s32 *a0, OBJ_80020248 *a1, MTX_80020248 *a2, MTX_80020248 *a3, s32 a4) { @@ -12912,34 +12319,34 @@ s32 func_80020248(s32 *a0, OBJ_80020248 *a1, MTX_80020248 *a2, MTX_80020248 *a3, lm.t[2] = a1->z; if (a4 == 0) { - SRM_80020248(a2); - LDCLMV_80020248(&lm.m[0][0]); - RTIR_80020248(); - STCLMV_80020248(&rm->m[0][0]); - LDCLMV_80020248(&lm.m[0][1]); - RTIR_80020248(); - STCLMV_80020248(&rm->m[0][1]); - LDCLMV_80020248(&lm.m[0][2]); - RTIR_80020248(); - STCLMV_80020248(&rm->m[0][2]); + gte_SetRotMatrix(a2); + gte_ldclmv(&lm.m[0][0]); + gte_rtir(); + gte_stclmv(&rm->m[0][0]); + gte_ldclmv(&lm.m[0][1]); + gte_rtir(); + gte_stclmv(&rm->m[0][1]); + gte_ldclmv(&lm.m[0][2]); + gte_rtir(); + gte_stclmv(&rm->m[0][2]); rm++; } - SRM_80020248(a3); - LDCLMV_80020248(&lm.m[0][0]); - RTIR_80020248(); - STCLMV_80020248(&om->m[0][0]); - LDCLMV_80020248(&lm.m[0][1]); - RTIR_80020248(); - STCLMV_80020248(&om->m[0][1]); - LDCLMV_80020248(&lm.m[0][2]); - RTIR_80020248(); - STCLMV_80020248(&om->m[0][2]); + gte_SetRotMatrix(a3); + gte_ldclmv(&lm.m[0][0]); + gte_rtir(); + gte_stclmv(&om->m[0][0]); + gte_ldclmv(&lm.m[0][1]); + gte_rtir(); + gte_stclmv(&om->m[0][1]); + gte_ldclmv(&lm.m[0][2]); + gte_rtir(); + gte_stclmv(&om->m[0][2]); - STM_80020248(a3); - LDLVL_80020248(&lm.t[0]); - RT_80020248(); - STLVNL_80020248(&om->t[0]); + gte_SetTransMatrix(a3); + gte_ldlv0(&lm.t[0]); + gte_rtv0tr(); + gte_stlvnl(&om->t[0]); om++; a1++; @@ -13029,84 +12436,13 @@ extern void func_80020DA4(s32 a0, s32 a1); extern void func_80012558(s32 a0, s32 a1); extern void func_80020F34(s32 a0, s32 a1); -#define SRM_80020598(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_80020598(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define LDCLMV_80020598(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define RTIR_80020598() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 3, 3, 0" \ - : : : "memory" ) -#define STCLMV_80020598(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) -#define LDLVL_80020598(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define RT_80020598() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : : : "memory" ) -#define STLVNL_80020598(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_80020598(s32 *a0, OBJ598 *a1, MTX_80020248 *a2, MTX_80020248 *a3) { @@ -13181,31 +12517,31 @@ void func_80020598(s32 *a0, OBJ598 *a1, MTX_80020248 *a2, MTX_80020248 *a3) break; } m3 = h2.p; - SRM_80020598(m3); - LDCLMV_80020598(&lm.m[0][0]); - RTIR_80020598(); - STCLMV_80020598(&rm->m[0][0]); - LDCLMV_80020598(&lm.m[0][1]); - RTIR_80020598(); - STCLMV_80020598(&rm->m[0][1]); - LDCLMV_80020598(&lm.m[0][2]); - RTIR_80020598(); - STCLMV_80020598(&rm->m[0][2]); + gte_SetRotMatrix(m3); + gte_ldclmv(&lm.m[0][0]); + gte_rtir(); + gte_stclmv(&rm->m[0][0]); + gte_ldclmv(&lm.m[0][1]); + gte_rtir(); + gte_stclmv(&rm->m[0][1]); + gte_ldclmv(&lm.m[0][2]); + gte_rtir(); + gte_stclmv(&rm->m[0][2]); m3 = h3.p; - SRM_80020598(m3); - LDCLMV_80020598(&lm.m[0][0]); - RTIR_80020598(); - STCLMV_80020598(&rm[0x40].m[0][0]); - LDCLMV_80020598(&lm.m[0][1]); - RTIR_80020598(); - STCLMV_80020598(&rm[0x40].m[0][1]); - LDCLMV_80020598(&lm.m[0][2]); - RTIR_80020598(); - STCLMV_80020598(&rm[0x40].m[0][2]); - STM_80020598(m3); - LDLVL_80020598(&lm.t[0]); - RT_80020598(); - STLVNL_80020598(&rm[0x40].t[0]); + gte_SetRotMatrix(m3); + gte_ldclmv(&lm.m[0][0]); + gte_rtir(); + gte_stclmv(&rm[0x40].m[0][0]); + gte_ldclmv(&lm.m[0][1]); + gte_rtir(); + gte_stclmv(&rm[0x40].m[0][1]); + gte_ldclmv(&lm.m[0][2]); + gte_rtir(); + gte_stclmv(&rm[0x40].m[0][2]); + gte_SetTransMatrix(m3); + gte_ldlv0(&lm.t[0]); + gte_rtv0tr(); + gte_stlvnl(&rm[0x40].t[0]); rm++; a0++; i++; @@ -13253,87 +12589,13 @@ typedef struct { /* 0x6 */ u16 unk6; } OBJ_80020A28; /* 0x8 */ -#define SRM_80020A28(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_80020A28(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define LDCLMV_80020A28(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define RTIR_80020A28() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 3, 3, 0" \ - : : : "memory" ) -#define STCLMV_80020A28(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) -#define LDLVL_80020A28(r0) __asm__ volatile ( \ - "lb $13, 1( %0 );" \ - "lb $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "sll $12, $12, 16;" \ - "srl $12, $12, 16;" \ - "or $12, $12, $13;" \ - "lb $13, 2( %0 );" \ - "mtc2 $12, $0;" \ - "mtc2 $13, $1" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define RT_80020A28() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : : : "memory" ) -#define STLVNL_80020A28(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) s32 func_80020A28(s32 *a0, OBJ_80020A28 *a1, MTX_80020248 *a2, MTX_80020248 *a3, s32 a4) { @@ -13369,35 +12631,35 @@ s32 func_80020A28(s32 *a0, OBJ_80020A28 *a1, MTX_80020248 *a2, MTX_80020248 *a3, func_80020DA4((s32)src, (s32)&lm); if (a4 == 0) { - SRM_80020A28(a2); - LDCLMV_80020A28(&lm.m[0][0]); - RTIR_80020A28(); - STCLMV_80020A28(&rm->m[0][0]); - LDCLMV_80020A28(&lm.m[0][1]); - RTIR_80020A28(); - STCLMV_80020A28(&rm->m[0][1]); - LDCLMV_80020A28(&lm.m[0][2]); - RTIR_80020A28(); - STCLMV_80020A28(&rm->m[0][2]); + gte_SetRotMatrix(a2); + gte_ldclmv(&lm.m[0][0]); + gte_rtir(); + gte_stclmv(&rm->m[0][0]); + gte_ldclmv(&lm.m[0][1]); + gte_rtir(); + gte_stclmv(&rm->m[0][1]); + gte_ldclmv(&lm.m[0][2]); + gte_rtir(); + gte_stclmv(&rm->m[0][2]); rm++; } - SRM_80020A28(a3); - LDCLMV_80020A28(&lm.m[0][0]); - RTIR_80020A28(); - STCLMV_80020A28(&om->m[0][0]); - LDCLMV_80020A28(&lm.m[0][1]); - RTIR_80020A28(); - STCLMV_80020A28(&om->m[0][1]); - LDCLMV_80020A28(&lm.m[0][2]); - RTIR_80020A28(); - STCLMV_80020A28(&om->m[0][2]); + gte_SetRotMatrix(a3); + gte_ldclmv(&lm.m[0][0]); + gte_rtir(); + gte_stclmv(&om->m[0][0]); + gte_ldclmv(&lm.m[0][1]); + gte_rtir(); + gte_stclmv(&om->m[0][1]); + gte_ldclmv(&lm.m[0][2]); + gte_rtir(); + gte_stclmv(&om->m[0][2]); - STM_80020A28(a3); + gte_SetTransMatrix(a3); c = (u8 *)a1 + 3; - LDLVL_80020A28(c); - RT_80020A28(); - STLVNL_80020A28(&om->t[0]); + gte_ldlvl_alt(c); + gte_rtv0tr(); + gte_stlvnl(&om->t[0]); om++; a1++; @@ -13660,12 +12922,12 @@ register s32 ret __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B return 1; } p_a3 = D_800AE688; -__asm__ volatile ( "lw $12, 0( %0 );" "lw $13, 4( %0 );" "ctc2 $12, $0;" "ctc2 $13, $1;" "lw $12, 8( %0 );" "lw $13, 12( %0 );" "lw $14, 16( %0 );" "ctc2 $12, $2;" "ctc2 $13, $3;" "ctc2 $14, $4;" "lw $12, 20( %0 );" "lw $13, 24( %0 );" "ctc2 $12, $5;" "lw $14, 28( %0 );" "ctc2 $13, $6;" "ctc2 $14, $7" : : "r"( p_a3 ) : "$12", "$13", "$14", "memory" ); -__asm__ volatile ( "lhu $13, 4( %0 );" "lhu $12, 0( %0 );" "sll $13, $13, 16;" "or $12, $12, $13;" "mtc2 $12, $0;" "lwc2 $1, 8( %0 )" : : "r"( (SV_80021174 *)a1 ) : "$12", "$13", "memory" ); -__asm__ volatile ( "nop;" "nop;" "rtps" : : : "memory" ); -__asm__ volatile ( "swc2 $14, 0( %0 )" : : "r"( sp ) : "memory" ); -__asm__ volatile ( "cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"( &sp[1] ) : "$12", "memory" ); -__asm__ volatile ( "mfc2 $12, $19;" "nop;" "sra $12, $12, 2;" "sw $12, 0( %0 )" : : "r"( &sp[2] ) : "$12", "memory" ); +__asm__ volatile ( "lw $12, 0( %0 );" "lw $13, 4( %0 );" "ctc2 $12, $0;" "ctc2 $13, $1;" "lw $12, 8( %0 );" "lw $13, 12( %0 );" "lw $14, 16( %0 );" "ctc2 $12, $2;" "ctc2 $13, $3;" "ctc2 $14, $4;" "lw $12, 20( %0 );" "lw $13, 24( %0 );" "ctc2 $12, $5;" "lw $14, 28( %0 );" "ctc2 $13, $6;" "ctc2 $14, $7" : : "r"( p_a3 ) : "$12", "$13", "$14", "memory" ); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotTransMatrix_m) beyond Sony's (P36 T5 gte1) +__asm__ volatile ( "lhu $13, 4( %0 );" "lhu $12, 0( %0 );" "sll $13, $13, 16;" "or $12, $12, $13;" "mtc2 $12, $0;" "lwc2 $1, 8( %0 )" : : "r"( (SV_80021174 *)a1 ) : "$12", "$13", "memory" ); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0_m) beyond Sony's (P36 T5 gte1) +__asm__ volatile ( "nop;" "nop;" "rtps" : : : "memory" ); // !FAKE: gte direct — clobbers ['memory'] (gte_rtps_m) beyond Sony's (P36 T5 gte1) +gte_stsxy(sp); +gte_stflg(&sp[1]); +gte_stszotz(&sp[2]); if (sp[1] < 0) { return 0; @@ -13767,28 +13029,9 @@ extern u16 D_800B9A02; extern u8 *D_800A5E60; extern void func_8001D70C(s32 arg0); -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_stflg(r0) __asm__ __volatile__( \ - "cfc2 $12, $31\n" \ - "nop\n" \ - "sw $12, 0(%0)\n" \ - : : "r"(r0) : "$12", "memory") void func_80021284(s32 arg0) { @@ -13822,7 +13065,7 @@ void func_80021284(s32 arg0) base.vy = *(u16 *)(arg0 + 0x30); base.vz = *(u16 *)(arg0 + 0x32); gte_ldv0(&base); - gte_rt(); + gte_rtv0tr(); gte_stlvnl(&out[0]); gte_stflg(&flag); @@ -13836,7 +13079,7 @@ void func_80021284(s32 arg0) tmp.vy = base.vy + *(u16 *)(rec + i * 4 + 0x12); tmp.vz = base.vz; gte_ldv0(ptmp); - gte_rt(); + gte_rtv0tr(); gte_stlvnl((VEC_80021284 *)(pout + off)); gte_stflg(pflag); off += 0x10; @@ -13894,62 +13137,13 @@ void func_80021284(s32 arg0) /* ---- PsyQ GTE inline macros (same spelling as the matched src/800.c blocks) ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) typedef struct { s16 vx, vy, vz, pad; @@ -14413,96 +13607,16 @@ extern u8 D_800A6610[]; extern u16 D_800B9A02; extern void func_800226C0(Obj_80021D38 *, u8 *, DVec_80021D38 *, u8 *); -#define gte_SetRotMatrix_21D38(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_21D38(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0_21D38(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_21D38(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_21D38() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_21D38() __asm__ volatile ("nop;nop;rtpt") -#define gte_rt_21D38() __asm__ volatile ("nop;nop;mvmva 1, 0, 0, 0, 0") -#define gte_stsxy_21D38(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_21D38(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stlvnl_21D38(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_21D38(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stsz_21D38(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz_21D38(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80021D38(Obj_80021D38 *p) { @@ -14533,17 +13647,17 @@ void func_80021D38(Obj_80021D38 *p) otz = p->pos.vz; sz = p->pos.vz << 2; } else { - gte_SetRotMatrix_21D38(base + 0x18); - gte_SetTransMatrix_21D38(base + 0x18); - gte_ldv0_21D38(&p->pos); - gte_rtps_21D38(); - gte_stsxy_21D38(&out[0]); - gte_stflg_21D38(&flag); - gte_stszotz_21D38(&otz); + gte_SetRotMatrix(base + 0x18); + gte_SetTransMatrix(base + 0x18); + gte_ldv0(&p->pos); + gte_rtps(); + gte_stsxy(&out[0]); + gte_stflg(&flag); + gte_stszotz(&otz); if (flag & ~0x1000) { return; } - gte_stsz_21D38(&sz); + gte_stsz(&sz); } d = otz + 1; @@ -14576,8 +13690,8 @@ void func_80021D38(Obj_80021D38 *p) mtx.m[2][1] = 0; mtx.m[2][2] = 0x1000; mtx.t[0] = mtx.t[1] = mtx.t[2] = 0; - gte_SetRotMatrix_21D38(&mtx); - gte_SetTransMatrix_21D38(&mtx); + gte_SetRotMatrix(&mtx); + gte_SetTransMatrix(&mtx); for (i = 0; i < 12; i += 3) { sv[0].vx = *(u16 *)(pts + (i << 2) + 0x10); @@ -14593,30 +13707,30 @@ void func_80021D38(Obj_80021D38 *p) sv[2].vz = sz; if (flags & 0x40000) { - gte_ldv0_21D38(&sv[0]); - gte_rt_21D38(); - gte_stlvnl_21D38(vec); - gte_stflg_21D38(&flag); + gte_ldv0(&sv[0]); + gte_rtv0tr(); + gte_stlvnl(vec); + gte_stflg(&flag); out[j].vx = vec[0]; out[j].vy = vec[1]; - gte_ldv0_21D38(&sv[1]); - gte_rt_21D38(); - gte_stlvnl_21D38(vec); - gte_stflg_21D38(&flag); + gte_ldv0(&sv[1]); + gte_rtv0tr(); + gte_stlvnl(vec); + gte_stflg(&flag); out[k].vx = vec[0]; out[k].vy = vec[1]; - gte_ldv0_21D38(&sv[2]); - gte_rt_21D38(); - gte_stlvnl_21D38(vec); - gte_stflg_21D38(&flag); + gte_ldv0(&sv[2]); + gte_rtv0tr(); + gte_stlvnl(vec); + gte_stflg(&flag); out[i + 3].vx = vec[0]; out[i + 3].vy = vec[1]; } else { - gte_ldv3_21D38(&sv[0], &sv[1], &sv[2]); - gte_rtpt_21D38(); - gte_stsxy3_21D38(&out[i + 1], &out[i + 2], &out[i + 3]); + gte_ldv3(&sv[0], &sv[1], &sv[2]); + gte_rtpt(); + gte_stsxy3(&out[i + 1], &out[i + 2], &out[i + 3]); } out[i + 1].vx += out[0].vx; @@ -14702,50 +13816,15 @@ typedef struct { /* 0x78 */ void *unk78; } Obj221A8; -#define SRM221A8(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" "ctc2 $13, $3;" "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define STM221A8(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define LDV0221A8(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"( r0 ) ) -#define LDV3221A8(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define RTPS221A8() __asm__ volatile ("nop;nop;rtps") -#define RTPT221A8() __asm__ volatile ("nop;nop;rtpt") -#define STSXY221A8(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define STSXY3221A8(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define STFLG221A8(r0) __asm__ volatile ( \ - "cfc2 $12, $31;nop;sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) -#define STSZOTZ221A8(r0) __asm__ volatile ( \ - "mfc2 $12, $19;nop;sra $12, $12, 2;sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) -#define STSZ221A8(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" : : "r"( r0 ) : "memory" ) extern u8 D_800AF630[]; extern u8 D_800A6610[]; @@ -14803,18 +13882,18 @@ void func_800221A8(Obj221A8 *o) { s = o->unk20; if (s != 0 && func_80021174(o->unk28, (s32)cd.workm.t) != 0) { ot = (u8 *)((*(u16 *)(p + 0xA3D2) << 14) + (u32)D_800A6610); - SRM221A8(mp); - STM221A8(mp); + gte_SetRotMatrix(mp); + gte_SetTransMatrix(mp); sv0.vz = 0; sv0.vy = 0; sv0.vx = 0; - LDV0221A8(&sv0); - RTPS221A8(); - STSXY221A8(&sxy[0]); - STFLG221A8(&flag); - STSZOTZ221A8(&otz); + gte_ldv0(&sv0); + gte_rtps(); + gte_stsxy(&sxy[0]); + gte_stflg(&flag); + gte_stszotz(&otz); if ((flag & ~0x1000) == 0) { - STSZ221A8(&sz); + gte_stsz(&sz); z = otz + 1; if (o->unk2E & 0xC000) { if ((o->unk2E & 0xC000) == 0xC000) { @@ -14839,15 +13918,15 @@ void func_800221A8(Obj221A8 *o) { m2.t[2] = 0; m2.t[1] = 0; m2.t[0] = 0; - SRM221A8(&m2); - STM221A8(&m2); + gte_SetRotMatrix(&m2); + gte_SetTransMatrix(&m2); if (o->unk74 != 0) { sv0.vx = *(u16 *)&o->unk74; sv0.vy = *((u16 *)&o->unk74 + 1); sv0.vz = sz; - LDV0221A8(&sv0); - RTPS221A8(); - STSXY221A8(&sxy2[0]); + gte_ldv0(&sv0); + gte_rtps(); + gte_stsxy(&sxy2[0]); sxy[0].x += sxy2[0].x; sxy[0].y += sxy2[0].y; } @@ -14862,9 +13941,9 @@ void func_800221A8(Obj221A8 *o) { sv2.vx = s->pt[i + 2].x; sv2.vy = s->pt[i + 2].y; sv2.vz = sz; - LDV3221A8(&sv0, &sv1, &sv2); - RTPT221A8(); - STSXY3221A8(&sxy[i + 1], &sxy[i + 2], &sxy[i + 3]); + gte_ldv3(&sv0, &sv1, &sv2); + gte_rtpt(); + gte_stsxy3(&sxy[i + 1], &sxy[i + 2], &sxy[i + 3]); sxy[i + 1].x += sxy[0].x; sxy[i + 1].y += sxy[0].y; sxy[i + 2].x += sxy[0].x; @@ -15919,15 +14998,6 @@ typedef struct { s16 vx, vy, vz, pad; } SVEC_80023BF0; typedef struct { u32 addr : 24; u32 len : 8; } PTag_80023BF0; -#define SetRot_80023BF0(m) __asm__ volatile ( \ - "lw $12, 0(%0);" "lw $13, 4(%0);" "ctc2 $12, $0;" "ctc2 $13, $1;" \ - "lw $12, 8(%0);" "lw $13, 12(%0);" "lw $14, 16(%0);" \ - "ctc2 $12, $2;" "ctc2 $13, $3;" "ctc2 $14, $4" \ - : : "r"(m) : "$12", "$13", "$14") -#define SetTrans_80023BF0(m) __asm__ volatile ( \ - "lw $12, 20(%0);" "lw $13, 24(%0);" "ctc2 $12, $5;" \ - "lw $14, 28(%0);" "ctc2 $13, $6;" "ctc2 $14, $7" \ - : : "r"(m) : "$12", "$13", "$14") void func_80023BF0(s32 arg0) { @@ -15958,17 +15028,17 @@ void func_80023BF0(s32 arg0) if (flags & 0x4000000) { u8 *m = mat + 0x18; - SetRot_80023BF0(m); - SetTrans_80023BF0(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); v.vx = *(u16 *)(arg0 + 8) + *(u16 *)(arg0 + 0x2E); v.vy = *(u16 *)(arg0 + 0xA) + *(u16 *)(arg0 + 0x30); v.vz = *(u16 *)(arg0 + 0xC) + *(u16 *)(arg0 + 0x32); - __asm__ volatile("lwc2 $0, 0(%0);lwc2 $1, 4(%0)" : : "r"(&v)); - __asm__ volatile("nop;nop;rtps"); - __asm__ volatile("swc2 $14, 0(%0)" : : "r"(&xy) : "memory"); + gte_ldv0(&v); + gte_rtps(); + gte_stsxy(&xy); __asm__ volatile("swc2 $8, 0(%0)" : : "r"(&sxy2) : "memory"); - __asm__ volatile("cfc2 $12, $31;nop;sw $12, 0(%0)" : : "r"(&mac0) : "$12", "memory"); - __asm__ volatile("mfc2 $12, $19;nop;sra $12, $12, 2;sw $12, 0(%0)" : : "r"(&z) : "$12", "memory"); + gte_stflg(&mac0); + gte_stszotz(&z); if (z <= 0) { return; } @@ -16626,72 +15696,15 @@ long *func_800249F0(char *f, s32 verts, s32 norms, long *prim, s32 count, /* ---- PsyQ GTE inline macros (the subset this routine uses) --------------- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* ---- types --------------------------------------------------------------- */ typedef struct { @@ -16742,7 +15755,7 @@ POLY_F4 *func_80024BC0(Face *f, SVECTOR_80024BC0 *sv, SVECTOR_80024BC0 *nv, POLY gte_nclip(); gte_stopz(&otz); if (otz > 0) { - gte_stsxy3_f4(poly); + gte_stsxy3_f3(poly); gte_ldv0(&sv[f->v3]); gte_rtps(); gte_stflg(&flag); @@ -16780,65 +15793,14 @@ POLY_F4 *func_80024BC0(Face *f, SVECTOR_80024BC0 *sv, SVECTOR_80024BC0 *nv, POLY /* ---- PsyQ inline_c.h GTE macros ---- */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) extern s32 D_800A2B78; @@ -16870,7 +15832,7 @@ u8 *func_80024DE8(TmdG3 *prim, u8 *vtx, u8 *nrm, u8 *pkt, s32 n, s32 shift, u32 gte_nclip(); gte_stopz(&z); if (z > 0) { - gte_stsxy3_g3(pkt); + gte_stsxy3_ft3(pkt); gte_avsz3(); gte_stotz(&z); gte_ldv0(nrm + prim->n0 * 8); @@ -16913,72 +15875,15 @@ u8 *func_80024DE8(TmdG3 *prim, u8 *vtx, u8 *nrm, u8 *pkt, s32 n, s32 shift, u32 * GTE inline-asm dialect copied from the proven ov_SC03_099 TUs. * ------------------------------------------------------------------ */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) typedef struct { s16 vx, vy, vz, pad; } SVEC_80025000; /* 0x08 */ typedef struct { u8 r, g, b, code; } RGBC; /* 0x04 */ @@ -17030,7 +15935,7 @@ PG4 *func_80025000(SRCQ *p, SVEC_80025000 *verts, SVEC_80025000 *norms, PG4 *pol gte_nclip(); gte_stopz(&g.z); if (g.z > 0) { - gte_stsxy3_g4(poly); + gte_stsxy3_ft3(poly); gte_ldv0(&verts[p->v3]); gte_rtps(); gte_stflg(&g.flag); @@ -17084,69 +15989,14 @@ PG4 *func_80025000(SRCQ *p, SVEC_80025000 *verts, SVEC_80025000 *norms, PG4 *pol /* --- PsyQ inline_c.h GTE macros (verbatim bodies, project spelling) --- */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3_g3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3_g3(r0) __asm__ volatile ( \ - "swc2 $20, 4( %0 );" \ - "swc2 $21, 12( %0 );" \ - "swc2 $22, 20( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) extern s32 D_80078D88[]; extern s32 D_800A2B78; @@ -17174,7 +16024,7 @@ u8 *func_8002528C(Prim *pr, Vec8 *vtx, Vec8 *nrm, void *arg3, s32 n, s32 shift, gte_nclip(); gte_stopz(&g.opz); if (g.opz > 0) { - gte_stsxy3_g3(pk); + gte_stsxy3_ft3(pk); if (D_80078D88[0] & 0x8000) { gte_stsz3(&g.sz1, &g.sz2, &g.sz3); if (g.sz1 > g.sz2) { @@ -17242,32 +16092,8 @@ u8 *func_8002528C(Prim *pr, Vec8 *vtx, Vec8 *nrm, void *arg3, s32 n, s32 shift, */ /* ---- PsyQ-style inline GTE macros (inline_c.h shapes) ---------------------- */ -#define gte_ldv0(r0) __asm__ volatile("lwc2 $0, 0(%0);lwc2 $1, 4(%0)" : : "r"(r0)) -#define gte_ldv3(r0, r1, r2) __asm__ volatile( \ - "lwc2 $0, 0(%0);lwc2 $1, 4(%0);" \ - "lwc2 $2, 0(%1);lwc2 $3, 4(%1);" \ - "lwc2 $4, 0(%2);lwc2 $5, 4(%2)" : : "r"(r0), "r"(r1), "r"(r2)) -#define gte_ldrgb(r0) __asm__ volatile("lwc2 $6, 0(%0)" : : "r"(r0)) -#define gte_rtpt() __asm__ volatile("nop;nop;cop2 0x0280030") -#define gte_rtps() __asm__ volatile("nop;nop;cop2 0x0180001") -#define gte_nclip() __asm__ volatile("nop;nop;cop2 0x1400006") -#define gte_avsz4() __asm__ volatile("nop;nop;cop2 0x168002e") -#define gte_ncct() __asm__ volatile("nop;nop;cop2 0x118043f") -#define gte_nccs() __asm__ volatile("nop;nop;cop2 0x108041b") -#define gte_stflg(r0) __asm__ volatile("cfc2 $12, $31;nop;sw $12, 0(%0)" : : "r"(r0) : "$12", "memory") -#define gte_stopz(r0) __asm__ volatile("swc2 $24, 0(%0)" : : "r"(r0) : "memory") -#define gte_stotz(r0) __asm__ volatile("swc2 $7, 0(%0)" : : "r"(r0) : "memory") -#define gte_stsxy2(r0) __asm__ volatile("swc2 $14, 0(%0)" : : "r"(r0) : "memory") -#define gte_strgb2(r0) __asm__ volatile("swc2 $22, 0(%0)" : : "r"(r0) : "memory") -#define gte_stsxy3_g4(r0) __asm__ volatile( \ - "swc2 $12, 8(%0);swc2 $13, 16(%0);swc2 $14, 24(%0)" : : "r"(r0) : "memory") -#define gte_strgb3_g4(r0) __asm__ volatile( \ - "swc2 $20, 4(%0);swc2 $21, 12(%0);swc2 $22, 20(%0)" : : "r"(r0) : "memory") -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile( \ - "swc2 $16, 0(%0);swc2 $17, 0(%1);swc2 $18, 0(%2);swc2 $19, 0(%3)" \ - : : "r"(r0), "r"(r1), "r"(r2), "r"(r3) : "memory") /* ---- local types ----------------------------------------------------------- */ typedef struct { @@ -17329,14 +16155,14 @@ void *func_80025504(GFace *prim, GVec8 *vtx, GVec8 *nrm, GPolyG4 *poly, s32 n, s if (p <= 0) { continue; } - gte_stsxy3_g4(poly); + gte_stsxy3_ft3(poly); gte_ldv0(&vtx[fp->v3]); gte_rtps(); gte_stflg(&flag); if (flag & 0xffffefff) { continue; } - gte_stsxy2(&poly->xy3); + gte_stsxy(&poly->xy3); if (D_80078D88[0] & 0x8000) { gte_stsz4(&sz0, &sz1, &sz2, &sz3); zmax = sz2; @@ -17358,10 +16184,10 @@ void *func_80025504(GFace *prim, GVec8 *vtx, GVec8 *nrm, GPolyG4 *poly, s32 n, s gte_ldrgb(&fp->rgb); gte_ldv3(&nrm[fp->n0], &nrm[fp->n1], &nrm[fp->n2]); gte_ncct(); - gte_strgb3_g4(poly); + gte_strgb3_g3(poly); gte_ldv0(&nrm[fp->n3]); gte_nccs(); - gte_strgb2(&poly->rgb3); + gte_strgb(&poly->rgb3); op = &ot[p >> shift]; poly->tag = (*op & 0xffffff) | 0x08000000; @@ -17391,57 +16217,6 @@ void *func_80025504(GFace *prim, GVec8 *vtx, GVec8 *nrm, GPolyG4 *poly, s32 n, s * Everything else is the stock PSY-Q 4.7 inline_c.h text (gte_stflg's $12 scratch * is exactly the target's `cfc2 $t4,$31`). * --------------------------------------------------------------------------- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;.word 0x4A280030") -#define gte_nclip() __asm__ volatile ("nop;nop;.word 0x4B400006") -#define gte_avsz3() __asm__ volatile ("nop;nop;.word 0x4B58002D") -#define gte_nccs() __asm__ volatile ("nop;nop;.word 0x4B08041B") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* 8-byte SVECTOR: vertex / normal table entry (index scaled by 8 => sll 3). */ typedef struct { @@ -17501,7 +16276,7 @@ PG3 *func_80025818(TPRIM_80025818 *prim, SVEC8_80025818 *vtx, SVEC8_80025818 *nr gte_nclip(); gte_stopz(&otz); if (otz > 0) { - gte_stsxy3_g3(poly); + gte_stsxy3_ft3(poly); gte_avsz3(); gte_stotz(&otz); gte_ldv0(&nrm[prim->n0]); @@ -17568,72 +16343,15 @@ PG3 *func_80025818(TPRIM_80025818 *prim, SVEC8_80025818 *vtx, SVEC8_80025818 *nr * PsyQ inline_c.h GTE macro bodies (same spelling as the matched * ov_SC01_000 renderer in src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c). */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) extern s32 D_800A2B78; @@ -17659,7 +16377,7 @@ u8 *func_80025A30(u8 *prim, u8 *vtx, u8 *nrm, u8 *pkt, s32 n, s32 shift, u32 *ot if (z <= 0) { continue; } - gte_stsxy3_g4(pkt); + gte_stsxy3_ft3(pkt); gte_ldv0(vtx + (*(u16 *)(prim + 0x22) << 3)); gte_rtps(); gte_stflg(&flag); @@ -17901,80 +16619,16 @@ void *func_80025CBC(void *prims, void *scr, void *cols, void *packets, * the copy preference puts the cursor back in $a3. */ -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_strgb2(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) typedef struct { s16 vx, vy, vz, pad; } SVEC8_80025EB8; @@ -18030,7 +16684,7 @@ u32 *func_80025EB8(Prim20 *prim, SVEC8_80025EB8 *verts, SVEC8_80025EB8 *norms, F gte_nclip(); gte_stopz(&g.otz); if (g.otz > 0) { - gte_stsxy3_ft4(pkt); + gte_stsxy3_ft3(pkt); gte_ldv0(&verts[prim->v3]); gte_rtps(); gte_stflg(&g.flag); @@ -18051,7 +16705,7 @@ u32 *func_80025EB8(Prim20 *prim, SVEC8_80025EB8 *verts, SVEC8_80025EB8 *norms, F } gte_ldv0(&norms[prim->n0]); gte_nccs(); - gte_strgb2(&pkt->rgb); + gte_strgb(&pkt->rgb); otp = &ot[g.otz >> shift]; pkt->tag = (*otp & 0xFFFFFF) | 0x09000000; *otp = (u32)pkt & 0xFFFFFF; @@ -18087,53 +16741,12 @@ typedef struct { /* 0x28 */ extern u32 D_80063884; -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3_gt3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $20, 0( %0 );" \ - "swc2 $21, 0( %1 );" \ - "swc2 $22, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) /* func_80026128 — main/800 — textured-GT3 (POLY_GT3) triangle emitter with per-vertex * normal-colour lighting. Sibling of the matched func_800262D8 in this TU (same loop @@ -18174,20 +16787,14 @@ PktGT3 *func_80026128(FaceGT3 *face, SVEC8_80026128 *vtx, SVEC8_80026128 *nrm, P gte_nclip(); gte_stopz(&otz); if (otz > 0) { - __asm__ volatile ( - "swc2 $12, 8( %0 );" - "swc2 $13, 20( %0 );" - "swc2 $14, 32( %0 )" - : - : "r"( pkt ) - : "memory" ); + gte_stsxy3_gt4(pkt); gte_avsz3(); gte_stotz(&otz); gte_ldv3(&nrm[face->n0], &nrm[face->n1], &nrm[face->n2]); gte_ncct(); otp = &ot[otz >> shift]; pkt->tag = (*otp & 0x00FFFFFF) | 0x09000000; - gte_strgb3_gt3(&pkt->rgb0, &pkt->rgb1, &pkt->rgb2); + gte_strgb3(&pkt->rgb0, &pkt->rgb1, &pkt->rgb2); *otp = (u32)pkt & 0x00FFFFFF; pkt++; } @@ -18203,81 +16810,16 @@ PktGT3 *func_80026128(FaceGT3 *face, SVEC8_80026128 *vtx, SVEC8_80026128 *nrm, P * GTE ops spelled as verbatim PsyQ inline_c.h macro bodies (project gas macros from * include/gte_macros.inc, pulled in via common.h -> include_asm.h -> macro.inc). */ -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_gt4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 20( %0 );" \ - "swc2 $14, 32( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $20, 0( %0 );" \ - "swc2 $21, 0( %1 );" \ - "swc2 $22, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) typedef struct { s16 vx, vy, vz, pad; } SVEC8_800262D8; /* 0x08 */ @@ -19318,47 +17860,11 @@ void func_80027200(void) } /* ---- PsyQ inline_c.h GTE macros ---- */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) extern s32 D_800A2B78; @@ -19379,7 +17885,7 @@ u8 *func_800273F4(TmdG3 *f, u8 *vtx, u8 *nrm, u8 *pkt, s32 n, s32 shift, u32 *ot gte_nclip(); gte_stopz(&z); if (z > 0) { - gte_stsxy3_g3(pkt); + gte_stsxy3_ft3(pkt); gte_avsz3(); gte_stotz(&z); *(u32 *)(pkt + 4) = f->rgb0; @@ -19411,48 +17917,13 @@ u8 *func_800273F4(TmdG3 *f, u8 *vtx, u8 *nrm, u8 *pkt, s32 n, s32 shift, u32 *ot /* ---- PsyQ inline GTE macros (inline_c.h forms) ------------------------- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - :: "r"(r0)) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - :: "r"(r0), "r"(r1), "r"(r2)) -#define gte_rtps() __asm__ volatile ("nop;nop;.word 0x4a180001") -#define gte_rtpt() __asm__ volatile ("nop;nop;.word 0x4a280030") -#define gte_nclip() __asm__ volatile ("nop;nop;.word 0x4b400006") -#define gte_avsz4() __asm__ volatile ("nop;nop;.word 0x4b68002e") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - :: "r"(r0) : "$12", "memory") -#define gte_stsxy2(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - :: "r"(r0) : "memory") -#define gte_stsxy3_g4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - :: "r"(r0) : "memory") -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - :: "r"(r0) : "memory") -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - :: "r"(r0) : "memory") /* ---- data ------------------------------------------------------------- */ extern s32 D_800A2B78; @@ -19494,12 +17965,12 @@ void *func_800275BC(TPRIM_800275BC *prim, SVEC_800275BC *vp, void *nrm, u8 *pk, gte_nclip(); gte_stopz(&otz); if (otz > 0) { - gte_stsxy3_g4(pk); + gte_stsxy3_ft3(pk); gte_ldv0(&vp[prim->v3]); gte_rtps(); gte_stflg(&flag); if ((flag & 0xFFFFEFFF) == 0) { - gte_stsxy2(pk + 0x20); + gte_stsxy(pk + 0x20); gte_avsz4(); gte_stotz(&otz); *(u32 *)(pk + 0x04) = prim->c0; @@ -19537,56 +18008,13 @@ void *func_800275BC(TPRIM_800275BC *prim, SVEC_800275BC *vp, void *nrm, u8 *pk, * POLY_GT3 being built), not off three separate pointers -- that is the PsyQ `_gt3` variant. * Using the 3-pointer gte_stsxy3 costs three extra `addiu` and was the first agent's length drift. */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_gt3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) extern s32 D_80078D88[]; @@ -19654,7 +18082,7 @@ void *func_800277DC(void *a0, SVECTOR800277DC *a1, void *a2, u8 *a3, gte_nclip(); gte_stopz(potz); if (st[1] > 0) { - gte_stsxy3_gt3(a3); + gte_stsxy3_ft3(a3); if (D_80078D88[0] & 0x8000) { gte_stsz3(psz0, psz1, &st[4]); @@ -19705,69 +18133,14 @@ void *func_800277DC(void *a0, SVECTOR800277DC *a1, void *a2, u8 *a3, /* ---- PsyQ inline GTE macros (inline_c.h style) ---- */ -#define gte_ldv3(r0, r1, r2) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0(r0) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ __volatile__ ("nop;nop;rtpt") -#define gte_rtps() __asm__ __volatile__ ("nop;nop;rtps") -#define gte_nclip() __asm__ __volatile__ ("nop;nop;nclip") -#define gte_avsz4() __asm__ __volatile__ ("nop;nop;avsz4") -#define gte_stflg(r0) __asm__ __volatile__ ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ __volatile__ ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ __volatile__ ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ __volatile__ ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g4(r0) __asm__ __volatile__ ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ __volatile__ ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) typedef struct { s16 vx, vy, vz, pad; @@ -19831,7 +18204,7 @@ LineG4 *func_800279AC(SrcQ *src, Vtx8 *vb, s32 unused, LineG4 *prim, s32 n, s32 if (otz <= 0) { continue; } - gte_stsxy3_g4(prim); + gte_stsxy3_ft3(prim); gte_ldv0(&vb[src->i3]); gte_rtps(); gte_stflg(&flag); @@ -19933,62 +18306,13 @@ void func_80027C10(void *a0, void *a1, s32 a2) /* ---- PsyQ inline GTE macros (same spellings as the matched ov_SC03_006 body) ---- */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3_g3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3_g3(r0) __asm__ volatile ( \ - "swc2 $20, 4( %0 );" \ - "swc2 $21, 12( %0 );" \ - "swc2 $22, 20( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -20015,7 +18339,7 @@ G3P *func_80027D20(Face2 *f, SVEC2 *verts, SVEC2 *norms, G3P *prims, gte_nclip(); gte_stopz(&g.opz); if (g.opz > 0) { - gte_stsxy3_g3(prim); + gte_stsxy3_ft3(prim); gte_stsz3(&g.sz0, &g.sz1, &g.sz2); if (g.sz0 < g.sz1) { w = g.sz2; z = g.sz0; } else { w = g.sz2; z = g.sz1; } if (w < z) z = w; @@ -20038,83 +18362,16 @@ G3P *func_80027D20(Face2 *f, SVEC2 *verts, SVEC2 *norms, G3P *prims, /* ---- PsyQ inline GTE macros (same spellings as the matched func_80027D20 / func_800279AC) ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stsxy3_g4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3_g4(r0) __asm__ volatile ( \ - "swc2 $20, 4( %0 );" \ - "swc2 $21, 12( %0 );" \ - "swc2 $22, 20( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -20141,7 +18398,7 @@ G4P *func_80027F4C(Face3 *f, SVEC2 *verts, SVEC2 *norms, G4P *prims, gte_nclip(); gte_stopz(&g.opz); if (g.opz > 0) { - gte_stsxy3_g4(prim); + gte_stsxy3_ft3(prim); gte_ldv0(&verts[f->v3]); gte_rtps(); gte_stflg(&g.flag); @@ -20160,7 +18417,7 @@ G4P *func_80027F4C(Face3 *f, SVEC2 *verts, SVEC2 *norms, G4P *prims, gte_ldrgb(&f->rgb); gte_ldv3(&norms[f->n0], &norms[f->n1], &norms[f->n2]); gte_ncct(); - gte_strgb3_g4(prim); + gte_strgb3_g3(prim); gte_ldv0(&norms[f->n3]); gte_nccs(); gte_strgb(&prim->rgb3); diff --git a/src/md_MAIN_019/md_MAIN_019.c b/src/md_MAIN_019/md_MAIN_019.c index a47240fb5b..68dd04d45c 100644 --- a/src/md_MAIN_019/md_MAIN_019.c +++ b/src/md_MAIN_019/md_MAIN_019.c @@ -297,20 +297,6 @@ extern u8 D_800CC114[]; extern u8 D_800CC5B0[]; extern u8 D_800CC638[]; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) #define gte_rt(p) \ __asm__ volatile ( \ @@ -411,20 +397,6 @@ void func_800CB578(void *arg0) { extern s32 func_80017DC4(void *a0, void *a1); extern s32 func_80017758(void *a0, void *a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) void func_800CB9F8(u16 *a0, u16 *a1, s32 *a2, s32 *a3, s32 stg) { struct { s16 v[4]; } p[4]; @@ -467,17 +439,8 @@ void func_800CB9F8(u16 *a0, u16 *a1, s32 *a2, s32 *a3, s32 stg) { "mvmva 1, 0, 3, 3, 0" : : "r"((s32)mat) - : "$12", "$13", "$14", "memory"); - __asm__ volatile ( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : - : "r"((s32)mat) - : "$12", "$13", "$14", "memory"); + : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)mat); __asm__ volatile ( "lhu $12, 0( %0 );" "lhu $13, 6( %0 );" @@ -490,17 +453,8 @@ void func_800CB9F8(u16 *a0, u16 *a1, s32 *a2, s32 *a3, s32 stg) { "mvmva 1, 0, 3, 3, 0" : : "r"((s32)mat + 2) - : "$12", "$13", "$14", "memory"); - __asm__ volatile ( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : - : "r"((s32)mat + 2) - : "$12", "$13", "$14", "memory"); + : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)mat + 2); __asm__ volatile ( "lhu $12, 0( %0 );" "lhu $13, 6( %0 );" @@ -513,17 +467,8 @@ void func_800CB9F8(u16 *a0, u16 *a1, s32 *a2, s32 *a3, s32 stg) { "mvmva 1, 0, 3, 3, 0" : : "r"((s32)mat + 4) - : "$12", "$13", "$14", "memory"); - __asm__ volatile ( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : - : "r"((s32)mat + 4) - : "$12", "$13", "$14", "memory"); + : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)mat + 4); ((s32 *)mat)[5] = a2[5]; ((s32 *)mat)[6] = a2[6]; ((s32 *)mat)[7] = a2[7]; diff --git a/src/md_MAIN_031/md_MAIN_031.c b/src/md_MAIN_031/md_MAIN_031.c index 5808ee4123..e3376681ed 100644 --- a/src/md_MAIN_031/md_MAIN_031.c +++ b/src/md_MAIN_031/md_MAIN_031.c @@ -344,7 +344,8 @@ void func_800CB5C8(s32 arg0, s32 arg1) { typedef struct { s16 m[3][4]; } Mat_CB6A0; -#define SETROT_A(p) __asm__ __volatile__( \ +/* !FAKE: gte variant `gte_SetRotMatrix_m` — memory beyond Sony's `gte_SetRotMatrix` (a scheduling steer; P36 T5) */ +#define gte_SetRotMatrix_m(p) __asm__ __volatile__( \ "lw $12, 0(%0)\n" \ "lw $13, 4(%0)\n" \ "ctc2 $12, $0\n" \ @@ -357,25 +358,19 @@ typedef struct { s16 m[3][4]; } Mat_CB6A0; "ctc2 $14, $4\n" \ : : "r"(p) : "$12", "$13", "$14", "memory") -#define LDV_A(p) __asm__ __volatile__( \ +/* !FAKE: gte variant `gte_ldv0_m` — memory beyond Sony's `gte_ldv0` (a scheduling steer; P36 T5) */ +#define gte_ldv0_m(p) __asm__ __volatile__( \ "lwc2 $0, 0(%0)\n" \ "lwc2 $1, 4(%0)\n" \ : : "r"(p) : "memory") -#define MVMVA_A() __asm__ __volatile__( \ +/* !FAKE: gte variant `gte_rtv0_m` — memory beyond Sony's `gte_rtv0` (a scheduling steer; P36 T5) */ +#define gte_rtv0_m() __asm__ __volatile__( \ "nop\n" \ "nop\n" \ "mvmva 1, 0, 0, 3, 0\n" \ : : : "memory") -#define STSV_A(p) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(p) : "$12", "$13", "$14", "memory") extern s32 func_80017DC4(void *a0, void *a1); extern void func_80016ED4(void *a0); @@ -401,31 +396,31 @@ void func_800CB6A0(void *a0, void *a1, void *a2, s32 a3) { vin[2] = 0; vin[0] = *(u16 *)((u8 *)a1 + 0) - 0x30; vin[1] = *(u16 *)((u8 *)a1 + 2) - 0x20; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(o0); + gte_SetRotMatrix_m(mat); // !FAKE: gte via gte_SetRotMatrix_m — memory beyond Sony's `gte_SetRotMatrix` (P36 T5 gte1) + gte_ldv0_m(vin); // !FAKE: gte via gte_ldv0_m — memory beyond Sony's `gte_ldv0` (P36 T5 gte1) + gte_rtv0_m(); // !FAKE: gte via gte_rtv0_m — memory beyond Sony's `gte_rtv0` (P36 T5 gte1) + gte_stsv(o0); vin[0] = *(u16 *)((u8 *)a1 + 0) + 0x30; vin[1] = *(u16 *)((u8 *)a1 + 2) - 0x20; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(vec[1]); + gte_SetRotMatrix_m(mat); // !FAKE: gte via gte_SetRotMatrix_m — memory beyond Sony's `gte_SetRotMatrix` (P36 T5 gte1) + gte_ldv0_m(vin); // !FAKE: gte via gte_ldv0_m — memory beyond Sony's `gte_ldv0` (P36 T5 gte1) + gte_rtv0_m(); // !FAKE: gte via gte_rtv0_m — memory beyond Sony's `gte_rtv0` (P36 T5 gte1) + gte_stsv(vec[1]); vin[0] = *(u16 *)((u8 *)a1 + 0) - 0x30; vin[1] = *(u16 *)((u8 *)a1 + 2) + 0x20; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(vec[2]); + gte_SetRotMatrix_m(mat); // !FAKE: gte via gte_SetRotMatrix_m — memory beyond Sony's `gte_SetRotMatrix` (P36 T5 gte1) + gte_ldv0_m(vin); // !FAKE: gte via gte_ldv0_m — memory beyond Sony's `gte_ldv0` (P36 T5 gte1) + gte_rtv0_m(); // !FAKE: gte via gte_rtv0_m — memory beyond Sony's `gte_rtv0` (P36 T5 gte1) + gte_stsv(vec[2]); vin[0] = *(u16 *)((u8 *)a1 + 0) + 0x30; vin[1] = *(u16 *)((u8 *)a1 + 2) + 0x20; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(vec[3]); + gte_SetRotMatrix_m(mat); // !FAKE: gte via gte_SetRotMatrix_m — memory beyond Sony's `gte_SetRotMatrix` (P36 T5 gte1) + gte_ldv0_m(vin); // !FAKE: gte via gte_ldv0_m — memory beyond Sony's `gte_ldv0` (P36 T5 gte1) + gte_rtv0_m(); // !FAKE: gte via gte_rtv0_m — memory beyond Sony's `gte_rtv0` (P36 T5 gte1) + gte_stsv(vec[3]); tc[0] = tp[0]; tc[1] = tp[1]; @@ -448,38 +443,9 @@ void func_800CB6A0(void *a0, void *a1, void *a2, s32 a3) { -#define SETROT_A(p) __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"(p) : "$12", "$13", "$14", "memory") -#define LDV_A(p) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(p) : "memory") -#define MVMVA_A() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 3, 0\n" \ - : : : "memory") -#define STSV_A(p) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(p) : "$12", "$13", "$14", "memory") extern s32 func_80017DC4(void *a0, void *a1); extern void func_80017714(void *a0); @@ -497,31 +463,31 @@ void func_800CB964(void *a0, void *a1, void *a2) { vin[2] = 0; vin[0] = *(u16 *)((u8 *)a1 + 0) - 0x38; vin[1] = *(u16 *)((u8 *)a1 + 2) - 0x28; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(o0); + gte_SetRotMatrix(mat); + gte_ldv0(vin); + gte_rtv0(); + gte_stsv(o0); vin[0] = *(u16 *)((u8 *)a1 + 0) + 0x38; vin[1] = *(u16 *)((u8 *)a1 + 2) - 0x28; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(vec[1]); + gte_SetRotMatrix(mat); + gte_ldv0(vin); + gte_rtv0(); + gte_stsv(vec[1]); vin[0] = *(u16 *)((u8 *)a1 + 0) - 0x38; vin[1] = *(u16 *)((u8 *)a1 + 2) + 0x28; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(vec[2]); + gte_SetRotMatrix(mat); + gte_ldv0(vin); + gte_rtv0(); + gte_stsv(vec[2]); vin[0] = *(u16 *)((u8 *)a1 + 0) + 0x38; vin[1] = *(u16 *)((u8 *)a1 + 2) + 0x28; - SETROT_A(mat); - LDV_A(vin); - MVMVA_A(); - STSV_A(vec[3]); + gte_SetRotMatrix(mat); + gte_ldv0(vin); + gte_rtv0(); + gte_stsv(vec[3]); tail[0xE] = 0x80; tail[0xD] = 0x80; diff --git a/src/md_MAIN_034/md_MAIN_034.c b/src/md_MAIN_034/md_MAIN_034.c index 4d9a520b7d..2992d9d2f4 100644 --- a/src/md_MAIN_034/md_MAIN_034.c +++ b/src/md_MAIN_034/md_MAIN_034.c @@ -179,65 +179,14 @@ void func_800CB00C(s32 arg0, s32 arg1, s32 arg2) /* ---- PsyQ inline GTE macros (same spellings as the matched siblings * func_800CBA18 / func_800CBC2C in this TU) ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- types ------------------------------------------------------------- */ typedef struct { s16 vx, vy, vz, pad; } SVEC8_800CB1F8; /* 0x08 */ @@ -322,72 +271,15 @@ F3P_800CB1F8 *func_800CB1F8(Face10_800CB1F8 *f, SVEC8_800CB1F8 *verts, */ /* ---- PsyQ inline_c.h GTE macros (same spellings as the matched siblings) -- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- types ------------------------------------------------------------- */ typedef struct { s16 vx, vy, vz, pad; } SVEC8_800CB3C0; /* 0x08 */ @@ -435,7 +327,7 @@ PktF4_800CB3C0 *func_800CB3C0(FaceF4_800CB3C0 *face, SVEC8_800CB3C0 *vtx, gte_nclip(); gte_stopz(&g.opz); if (g.opz > 0) { - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(&vtx[face->v3]); gte_rtps(); gte_stflg(&g.flag); @@ -468,61 +360,13 @@ PktF4_800CB3C0 *func_800CB3C0(FaceF4_800CB3C0 *face, SVEC8_800CB3C0 *vtx, * store macros carry local names so they cannot collide with the * three-pointer gte_strgb3 defined by the func_800CBE28 block) ---- */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_flat(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3_flat(r0) __asm__ volatile ( \ - "swc2 $20, 4( %0 );" \ - "swc2 $21, 12( %0 );" \ - "swc2 $22, 20( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- types ------------------------------------------------------------- */ typedef struct { s16 vx, vy, vz, pad; } SVEC8_800CB5D0; /* 0x08 */ @@ -572,7 +416,7 @@ Prim1C_800CB5D0 *func_800CB5D0(Face14_800CB5D0 *f, SVEC8_800CB5D0 *verts, gte_nclip(); gte_stopz(&g.opz); if (g.opz > 0) { - gte_stsxy3_flat(prim); + gte_stsxy3_ft3(prim); gte_avsz3(); gte_stotz(&g.opz); if (func_800CC0A0(prim) != 0) { @@ -583,7 +427,7 @@ Prim1C_800CB5D0 *func_800CB5D0(Face14_800CB5D0 *f, SVEC8_800CB5D0 *verts, gte_ldrgb(&f->rgb); gte_ldv3(&norms[f->n0], &norms[f->n0], &norms[f->n0]); gte_ncct(); - gte_strgb3_flat(prim); + gte_strgb3_g3(prim); } func_800CC110(ot, g.opz, shift, prim, 0x6000000); } @@ -594,81 +438,16 @@ Prim1C_800CB5D0 *func_800CB5D0(Face14_800CB5D0 *f, SVEC8_800CB5D0 *verts, } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_gt4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3_gt4(r0) __asm__ volatile ( \ - "swc2 $20, 4( %0 );" \ - "swc2 $21, 12( %0 );" \ - "swc2 $22, 20( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) typedef struct { s16 vx, vy, vz, pad; } SVEC8_800CB7BC; /* 0x08 */ @@ -705,7 +484,7 @@ PktGT4_800CB7BC *func_800CB7BC(FaceGT4_800CB7BC *face, SVEC8_800CB7BC *vtx, gte_nclip(); gte_stopz(&g.opz); if (g.opz > 0) { - gte_stsxy3_gt4(pkt); + gte_stsxy3_ft3(pkt); gte_ldv0(&vtx[face->v3]); gte_rtps(); gte_stflg(&g.flag); @@ -722,7 +501,7 @@ PktGT4_800CB7BC *func_800CB7BC(FaceGT4_800CB7BC *face, SVEC8_800CB7BC *vtx, gte_ldrgb(&face->rgb); gte_ldv3(&nrm[face->n0], &nrm[face->n0], &nrm[face->n0]); gte_ncct(); - gte_strgb3_gt4(pkt); + gte_strgb3_g3(pkt); gte_ldv0(&nrm[face->n0]); gte_nccs(); gte_strgb(&pkt->rgb3); @@ -763,72 +542,15 @@ PktGT4_800CB7BC *func_800CB7BC(FaceGT4_800CB7BC *face, SVEC8_800CB7BC *vtx, */ /* ---- PsyQ inline_c.h GTE macros (same spellings as the matched twins) ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- types ------------------------------------------------------------- */ typedef struct { s16 vx, vy, vz, pad; } SVEC8_800CBA18; /* 0x08 */ @@ -886,7 +608,7 @@ Ft4_800CBA18 *func_800CBA18(Face20_800CBA18 *f, SVEC8_800CBA18 *verts, gte_nclip(); gte_stopz(&g.otz); if (g.otz > 0) { - gte_stsxy3_ft4(prim); + gte_stsxy3_ft3(prim); gte_ldv0(&verts[f->v3]); gte_rtps(); gte_stflg(&g.flag); @@ -944,61 +666,13 @@ typedef struct { /* 0x28 */ /* ---- PsyQ inline GTE macros (same spellings as the matched func_80027D20) ---- */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_gt3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 20( %0 );" \ - "swc2 $14, 32( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3_gt3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $20, 0( %0 );" \ - "swc2 $21, 0( %1 );" \ - "swc2 $22, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) extern s16 D_800C7C74; extern u32 D_80063884; @@ -1023,7 +697,7 @@ GT3P *func_800CBC2C(FaceT3 *f, SVEC2 *verts, SVEC2 *norms, GT3P *prims, gte_nclip(); gte_stopz(&g.opz); if (g.opz > 0) { - gte_stsxy3_gt3(prim); + gte_stsxy3_gt4(prim); gte_avsz3(); gte_stotz(&g.opz); if (func_800CC0A0(prim) != 0) { @@ -1033,7 +707,7 @@ GT3P *func_800CBC2C(FaceT3 *f, SVEC2 *verts, SVEC2 *norms, GT3P *prims, } else { gte_ldv3(&norms[f->n0], &norms[f->n0], &norms[f->n0]); gte_ncct(); - gte_strgb3_gt3(&prim->rgb0, &prim->rgb1, &prim->rgb2); + gte_strgb3(&prim->rgb0, &prim->rgb1, &prim->rgb2); } func_800CC110(ot, g.opz, shift, prim, 0x09000000); } @@ -1048,81 +722,16 @@ GT3P *func_800CBC2C(FaceT3 *f, SVEC2 *verts, SVEC2 *norms, GT3P *prims, /* ---- PsyQ inline GTE macros (same spellings as the matched func_800262D8 body) ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldrgb(r0) __asm__ volatile ( \ - "lwc2 $6, 0( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_ncct() __asm__ volatile ("nop;nop;ncct") -#define gte_nccs() __asm__ volatile ("nop;nop;nccs") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_gt4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 20( %0 );" \ - "swc2 $14, 32( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb(r0) __asm__ volatile ( \ - "swc2 $22, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_strgb3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $20, 0( %0 );" \ - "swc2 $21, 0( %1 );" \ - "swc2 $22, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) typedef struct { s16 vx, vy, vz, pad; } SVEC8_800CBE28; /* 0x08 */ diff --git a/src/md_SC07_003/md_SC07_003.c b/src/md_SC07_003/md_SC07_003.c index 0352b03ede..56f470b479 100644 --- a/src/md_SC07_003/md_SC07_003.c +++ b/src/md_SC07_003/md_SC07_003.c @@ -1588,30 +1588,6 @@ void func_801A1F38(s32 arg0) { /* --- PsyQ inline GTE macros (copied verbatim from the banked * src/ov_SC06_008/ov_SC06_008_jr_8017C294.c spelling) ------------------ */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) extern void RotTransSV(s32 a0, s32 a1, void *a2); extern void func_8002D4C8(s32 a0, s32 a1); @@ -2051,56 +2027,6 @@ extern s16 D_800B9A02; extern s32 D_800A5E60; /* PsyQ inline GTE macros (house spelling) */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* libgpu P_TAG: the 24-bit addr field reproduces setaddr()/getaddr() (boot.c house spelling) */ typedef struct { @@ -2823,30 +2749,6 @@ extern void func_8012EA90(s32 a0, s32 a1, s32 *a2); extern void RotTransSV(s32 a0, s32 a1, void *a2); extern u8 D_801A6CE8[]; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801A38E4(void *a0, void *a1, s32 a2, s32 a3, s32 a4) { @@ -3367,30 +3269,6 @@ s32 func_801A419C(s32 arg0) { #include "common.h" /* --- PsyQ inline GTE macros (TU house spelling, copied from func_801A2014) --- */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) extern void RotTransSV(s32 a0, s32 a1, void *a2); extern s32 func_8004787C(s32 a0); @@ -4153,62 +4031,12 @@ typedef struct { s32 f4; } Prim_801A52DC; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) extern void func_80016714(s8 *a0, s32 a1); extern void func_8012C218(void *a0); diff --git a/src/md_SC07_004/md_SC07_004.c b/src/md_SC07_004/md_SC07_004.c index 941d8e958d..9f3bb38ff4 100644 --- a/src/md_SC07_004/md_SC07_004.c +++ b/src/md_SC07_004/md_SC07_004.c @@ -4016,15 +4016,6 @@ void func_801A5D68(void *arg) { typedef struct { u32 addr : 24; u32 len : 8; u8 r0, g0, b0, code; } P_TAG; -#define gte_ldv0(r0) __asm__ volatile ("lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"( r0 )) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ("lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 );" "lwc2 $2, 0( %1 );" "lwc2 $3, 4( %1 );" "lwc2 $4, 0( %2 );" "lwc2 $5, 4( %2 )" : : "r"( r0 ), "r"( r1 ), "r"( r2 )) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ("swc2 $14, 0( %0 )" : : "r"( r0 ) : "memory") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ("swc2 $12, 0( %0 );" "swc2 $13, 0( %1 );" "swc2 $14, 0( %2 )" : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory") -#define gte_stotz(r0) __asm__ volatile ("swc2 $7, 0( %0 )" : : "r"( r0 ) : "memory") -#define gte_stflg(r0) __asm__ volatile ("cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"( r0 ) : "$12", "memory") void func_801A5E60(s32 a0, u8 *v) { @@ -5959,19 +5950,8 @@ typedef struct { s16 x, y, z, pad; } SXY_801A8B64; -#define gte_ldv0_801A8B64(r0) __asm__ __volatile__ ( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)" \ - : \ - : "r"(r0)) -#define gte_rtps_801A8B64() __asm__ __volatile__ ("nop\nnop\nrtps") -#define gte_stsxy_801A8B64(r0) __asm__ __volatile__ ( \ - "swc2 $14, 0(%0)" \ - : \ - : "r"(r0) \ - : "memory") void func_801A8B64(s32 arg0, s32 arg1) { @@ -5991,26 +5971,26 @@ void func_801A8B64(s32 arg0, s32 arg1) "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"(g) : "$12", "$13", "$14", "memory"); + : : "r"(g) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* gte_SetTransMatrix(&D_800AF648) */ __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"(g) : "$12", "$13", "$14", "memory"); + : : "r"(g) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) - gte_ldv0_801A8B64(arg1); - gte_rtps_801A8B64(); - gte_stsxy_801A8B64(&xy0); + gte_ldv0(arg1); + gte_rtps(); + gte_stsxy(&xy0); v.vx = *(u16 *)(arg0 + 0x6); v.vy = *(u16 *)(arg0 + 0xA); v.vz = *(u16 *)(arg0 + 0xE); - gte_ldv0_801A8B64(&v); - gte_rtps_801A8B64(); - gte_stsxy_801A8B64(&xy1); + gte_ldv0(&v); + gte_rtps(); + gte_stsxy(&xy1); dy = xy1.y - xy0.y; dx = xy1.x - xy0.x; @@ -10437,52 +10417,12 @@ extern void func_80020F34(s32 a0, s32 a1); extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); -#define gte_SetRotMatrix_E38(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define gte_SetTransMatrix_E38(r0) __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"(r0) : "$12", "$13", "$14", "memory") /* one column of a s16[3][3] through the rotation matrix, in place */ -#define gte_mulcol_E38(r0) __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" \ - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") /* the s32 t[3] through the same matrix, in place */ -#define gte_multrans_E38(r0) __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" \ - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "$12", "$13", "memory") -#define gte_ldv0_E38(r0) __asm__ __volatile__ ("lwc2 $0, 0(%0)\nlwc2 $1, 4(%0)" : : "r"(r0)) -#define gte_ldv3_E38(r0, r1, r2) __asm__ __volatile__ ( \ - "lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" \ - "lwc2 $2, 0(%1)\n" "lwc2 $3, 4(%1)\n" \ - "lwc2 $4, 0(%2)\n" "lwc2 $5, 4(%2)\n" \ - : : "r"(r0), "r"(r1), "r"(r2)) -#define gte_rtps_E38() __asm__ __volatile__ ("nop\nnop\nrtps") -#define gte_rtpt_E38() __asm__ __volatile__ ("nop\nnop\nrtpt") -#define gte_avsz4_E38() __asm__ __volatile__ ("nop\nnop\navsz4") -#define gte_stsxy_E38(r0) __asm__ __volatile__ ("swc2 $14, 0(%0)" : : "r"(r0) : "memory") -#define gte_stsxy3_E38(r0, r1, r2) __asm__ __volatile__ ( \ - "swc2 $12, 0(%0)\n" "swc2 $13, 0(%1)\n" "swc2 $14, 0(%2)" \ - : : "r"(r0), "r"(r1), "r"(r2) : "memory") -#define gte_stotz_E38(r0) __asm__ __volatile__ ("swc2 $7, 0(%0)" : : "r"(r0) : "memory") -#define gte_stflg_E38(r0) __asm__ __volatile__ ("cfc2 $12, $31\nnop\nsw $12, 0(%0)" : : "r"(r0) : "$12", "memory") /* Levers that closed this one (all byte-verified with match_one): * 1. Params used DIRECTLY (no `s2 = (u8 *)a1;` locals). The explicit copy @@ -10544,19 +10484,19 @@ void func_801AEC38(s32 a0, s32 a1, s32 a2) mtx.t[0] = 0; func_80020F34((s32)&mtx, (s32)(((u8 *)a1) + 0xC)); - gte_SetRotMatrix_E38(((u8 *)a2)); - gte_mulcol_E38((u8 *)&mtx); - gte_mulcol_E38((u8 *)&mtx + 2); - gte_mulcol_E38((u8 *)&mtx + 4); - gte_SetTransMatrix_E38(((u8 *)a2)); - gte_multrans_E38((u8 *)mtx.t); + gte_SetRotMatrix(((u8 *)a2)); + gte_mulcol((u8 *)&mtx); + gte_mulcol((u8 *)&mtx + 2); + gte_mulcol((u8 *)&mtx + 4); + gte_SetTransMatrix(((u8 *)a2)); + gte_multrans((u8 *)mtx.t); - gte_SetRotMatrix_E38(&D_800AF648); - gte_mulcol_E38((u8 *)&mtx); - gte_mulcol_E38((u8 *)&mtx + 2); - gte_mulcol_E38((u8 *)&mtx + 4); - gte_SetTransMatrix_E38(&D_800AF648); - gte_multrans_E38((u8 *)mtx.t); + gte_SetRotMatrix(&D_800AF648); + gte_mulcol((u8 *)&mtx); + gte_mulcol((u8 *)&mtx + 2); + gte_mulcol((u8 *)&mtx + 4); + gte_SetTransMatrix(&D_800AF648); + gte_multrans((u8 *)mtx.t); func_8004914C(&mtx); func_800491AC(&mtx); @@ -10583,17 +10523,17 @@ void func_801AEC38(s32 a0, s32 a1, s32 a2) pkt[7] = 0x3A; } - gte_ldv3_E38(&sv[0], &sv[1], &sv[2]); - gte_rtpt_E38(); - gte_stflg_E38(&flag); - gte_stsxy3_E38(pkt + 8, pkt + 0x10, pkt + 0x18); - gte_ldv0_E38(&sv[3]); - gte_rtps_E38(); - gte_stflg_E38(&flag2); + gte_ldv3(&sv[0], &sv[1], &sv[2]); + gte_rtpt(); + gte_stflg(&flag); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv0(&sv[3]); + gte_rtps(); + gte_stflg(&flag2); flag |= flag2; - gte_stsxy_E38(pkt + 0x20); - gte_avsz4_E38(); - gte_stotz_E38(&otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&otz); if ((flag & ~0x1000) == 0) { u8 pad1[8]; /* sp+0x90 */ @@ -10723,68 +10663,13 @@ void func_801AF2EC(void *a0) { } -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) diff --git a/src/ov_MAIN_012/ov_MAIN_012.c b/src/ov_MAIN_012/ov_MAIN_012.c index b559c3a564..7662a48b1d 100644 --- a/src/ov_MAIN_012/ov_MAIN_012.c +++ b/src/ov_MAIN_012/ov_MAIN_012.c @@ -1550,50 +1550,10 @@ void func_8012E364(s32 arg0_) extern u8 D_800AF648; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8012E778.h" @@ -1667,114 +1627,6 @@ void func_8012E9C0(int param_1) typedef struct { s8 c[8]; } Blk8_8012EFB8; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c b/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c index 25800af066..277f4c1b8a 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.c @@ -1341,116 +1341,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -1793,11 +1683,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E924) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E928) : "memory"); + gte_stlvnl(D_8017E928); pc0 = D_8017E924; pc4 = D_8017E928; diff --git a/src/ov_MAIN_012/ov_MAIN_012_jr_801380E0.c b/src/ov_MAIN_012/ov_MAIN_012_jr_801380E0.c index f6383ed7bb..6b34601217 100644 --- a/src/ov_MAIN_012/ov_MAIN_012_jr_801380E0.c +++ b/src/ov_MAIN_012/ov_MAIN_012_jr_801380E0.c @@ -1057,20 +1057,6 @@ extern void func_8013AA24(s32 a0, s32 a1); #include "../shared/ov/func_8013AB54.h" -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1094,7 +1080,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair *)out2)[i].x = res[0]; ((Pair *)out2)[i].y = res[1]; @@ -1173,12 +1159,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1192,12 +1174,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.c b/src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.c index b6868c0323..b9305c5fe5 100644 --- a/src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.c +++ b/src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.c @@ -821,46 +821,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -936,114 +896,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2271,80 +2123,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2681,11 +2459,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F1AC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F1B0) : "memory"); + gte_stlvnl(D_8017F1B0); pc0 = D_8017F1AC; pc4 = D_8017F1B0; diff --git a/src/ov_SC01_000/ov_SC01_000_jr_801380E0.c b/src/ov_SC01_000/ov_SC01_000_jr_801380E0.c index d44e3a9ea6..f8fd979513 100644 --- a/src/ov_SC01_000/ov_SC01_000_jr_801380E0.c +++ b/src/ov_SC01_000/ov_SC01_000_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017F2D8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c b/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c index 12b3d64752..c09ce2073c 100644 --- a/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c +++ b/src/ov_SC01_000/ov_SC01_000_jr_8017BEBC.c @@ -2669,73 +2669,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2745,45 +2686,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.c b/src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.c index 50c3a53464..8d5e044cb2 100644 --- a/src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.c +++ b/src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2271,80 +2123,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2681,11 +2459,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80183DFC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80183E00) : "memory"); + gte_stlvnl(D_80183E00); pc0 = D_80183DFC; pc4 = D_80183E00; diff --git a/src/ov_SC01_001/ov_SC01_001_jr_801380E0.c b/src/ov_SC01_001/ov_SC01_001_jr_801380E0.c index b6bf217ca8..c676623b13 100644 --- a/src/ov_SC01_001/ov_SC01_001_jr_801380E0.c +++ b/src/ov_SC01_001/ov_SC01_001_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80183F28[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_001/ov_SC01_001_jr_8017BEBC.c b/src/ov_SC01_001/ov_SC01_001_jr_8017BEBC.c index 2c668e45b6..215919f30f 100644 --- a/src/ov_SC01_001/ov_SC01_001_jr_8017BEBC.c +++ b/src/ov_SC01_001/ov_SC01_001_jr_8017BEBC.c @@ -2686,73 +2686,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2762,45 +2703,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.c b/src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.c index e4d8c7d674..ee69efe288 100644 --- a/src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.c +++ b/src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F7C0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F7C4) : "memory"); + gte_stlvnl(D_8017F7C4); pc0 = D_8017F7C0; pc4 = D_8017F7C4; diff --git a/src/ov_SC01_004/ov_SC01_004_jr_801380E0.c b/src/ov_SC01_004/ov_SC01_004_jr_801380E0.c index 74af235d44..1ddecfb210 100644 --- a/src/ov_SC01_004/ov_SC01_004_jr_801380E0.c +++ b/src/ov_SC01_004/ov_SC01_004_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017F8EC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_004/ov_SC01_004_jr_8017BE9C.c b/src/ov_SC01_004/ov_SC01_004_jr_8017BE9C.c index d653e10690..61014dfc72 100644 --- a/src/ov_SC01_004/ov_SC01_004_jr_8017BE9C.c +++ b/src/ov_SC01_004/ov_SC01_004_jr_8017BE9C.c @@ -2693,121 +2693,20 @@ extern void func_8017BE60(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BE9C(s32 arg0) { @@ -3046,7 +2945,7 @@ void func_8017BE9C(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.c b/src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.c index 94073a7cf9..0e95061147 100644 --- a/src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.c +++ b/src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.c @@ -806,46 +806,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -921,114 +881,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2264,80 +2116,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2674,11 +2452,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182954) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182958) : "memory"); + gte_stlvnl(D_80182958); pc0 = D_80182954; pc4 = D_80182958; diff --git a/src/ov_SC01_005/ov_SC01_005_jr_801380E0.c b/src/ov_SC01_005/ov_SC01_005_jr_801380E0.c index f86698ba37..e670fa9c24 100644 --- a/src/ov_SC01_005/ov_SC01_005_jr_801380E0.c +++ b/src/ov_SC01_005/ov_SC01_005_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80182A80[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c b/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c index f403c864c4..a09cc43a1c 100644 --- a/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c +++ b/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c @@ -2702,121 +2702,20 @@ extern void func_8017C338(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C340(s32 arg0) { @@ -3055,7 +2954,7 @@ void func_8017C340(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.c b/src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.c index 023f181518..f680035cbb 100644 --- a/src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.c +++ b/src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017FD34) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017FD38) : "memory"); + gte_stlvnl(D_8017FD38); pc0 = D_8017FD34; pc4 = D_8017FD38; diff --git a/src/ov_SC01_008/ov_SC01_008_jr_801380E0.c b/src/ov_SC01_008/ov_SC01_008_jr_801380E0.c index b69abb85d7..e2d8e2d0fc 100644 --- a/src/ov_SC01_008/ov_SC01_008_jr_801380E0.c +++ b/src/ov_SC01_008/ov_SC01_008_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017FE60[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c b/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c index c1d680ec26..73b2b3f1de 100644 --- a/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c +++ b/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c @@ -2693,121 +2693,20 @@ extern void func_8017BE60(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BE9C(s32 arg0) { @@ -3046,7 +2945,7 @@ void func_8017BE9C(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.c b/src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.c index d7cbd8876e..bf42b9337d 100644 --- a/src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.c +++ b/src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182F1C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182F20) : "memory"); + gte_stlvnl(D_80182F20); pc0 = D_80182F1C; pc4 = D_80182F20; diff --git a/src/ov_SC01_009/ov_SC01_009_jr_801380E0.c b/src/ov_SC01_009/ov_SC01_009_jr_801380E0.c index f6ba078c2f..5384484428 100644 --- a/src/ov_SC01_009/ov_SC01_009_jr_801380E0.c +++ b/src/ov_SC01_009/ov_SC01_009_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80183048[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c b/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c index a5d83b80d3..3a2b9b9d68 100644 --- a/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c +++ b/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c @@ -2686,121 +2686,20 @@ extern void func_8017BE60(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BE9C(s32 arg0) { @@ -3039,7 +2938,7 @@ void func_8017BE9C(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.c b/src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.c index b22d5a4a75..ee9bff56a5 100644 --- a/src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.c +++ b/src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017EB9C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017EBA0) : "memory"); + gte_stlvnl(D_8017EBA0); pc0 = D_8017EB9C; pc4 = D_8017EBA0; diff --git a/src/ov_SC01_074/ov_SC01_074_jr_801380E0.c b/src/ov_SC01_074/ov_SC01_074_jr_801380E0.c index 60bc127ff1..20a4051d0f 100644 --- a/src/ov_SC01_074/ov_SC01_074_jr_801380E0.c +++ b/src/ov_SC01_074/ov_SC01_074_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017ECC8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c b/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c index d93342e565..3af01afa1c 100644 --- a/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c +++ b/src/ov_SC01_074/ov_SC01_074_jr_8017BE9C.c @@ -2693,121 +2693,20 @@ extern void func_8017BE60(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BE9C(s32 arg0) { @@ -3046,7 +2945,7 @@ void func_8017BE9C(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.c b/src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.c index 1e1a67973a..96befd4978 100644 --- a/src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.c +++ b/src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.c @@ -984,50 +984,10 @@ void func_8012E364(s32 arg0_) * `rtps` assembler macro (include/gte_macros.inc, pulled in by common.h -> * include_asm.h -> labels.inc) which encodes 0x4A180001 — NOT the psyq * `.word 0x0000007f`, which assembles to the wrong word for this target. */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8012E778.h" @@ -1113,53 +1073,11 @@ extern void func_80049CAC(s32 a0, s32 a1); * address taken by a "memory"-clobbering asm, so it lives at 0($sp) and the * `return flag` reloads it -> lw $v0, 0($sp) in the epilogue. */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2532,61 +2450,11 @@ extern s16 D_80126CB0; // @stuck: none — MATCH (110/110 ins, symcheck SYMS-OK). PsyQ GTE inline-asm block (SetTransMatrix before SetRotMatrix, ldv0/rtv0tr/stlvnl/stflg) + §43 K&R s16 param_3 (in-place `sll $a2,$a2,16` tell) + 16-byte s32[4] locals for the 0x10/0x20/0x30 slot order. #include "common.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2984,11 +2852,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801870C0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801870C4) : "memory"); + gte_stlvnl(D_801870C4); pc0 = D_801870C0; pc4 = D_801870C4; diff --git a/src/ov_SC01_077/ov_SC01_077_jr_801380E0.c b/src/ov_SC01_077/ov_SC01_077_jr_801380E0.c index 684ea8021e..e09a81c7fd 100644 --- a/src/ov_SC01_077/ov_SC01_077_jr_801380E0.c +++ b/src/ov_SC01_077/ov_SC01_077_jr_801380E0.c @@ -1273,22 +1273,8 @@ struct S8013A4C4; extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801871EC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1309,7 +1295,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair *)out2)[i].x = res[0]; ((Pair *)out2)[i].y = res[1]; @@ -1427,12 +1413,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1446,12 +1428,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c b/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c index db8605c185..0dbfdd643a 100644 --- a/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c +++ b/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.c @@ -3602,98 +3602,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C974; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C974; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C974; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C974(s32 arg0) { diff --git a/src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.c b/src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.c index 5567afe050..2283fa01c5 100644 --- a/src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.c +++ b/src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80183AFC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80183B00) : "memory"); + gte_stlvnl(D_80183B00); pc0 = D_80183AFC; pc4 = D_80183B00; diff --git a/src/ov_SC01_080/ov_SC01_080_jr_801380E0.c b/src/ov_SC01_080/ov_SC01_080_jr_801380E0.c index 6611272816..89a47e43f4 100644 --- a/src/ov_SC01_080/ov_SC01_080_jr_801380E0.c +++ b/src/ov_SC01_080/ov_SC01_080_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80183C28[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c b/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c index 5bb8f95e82..f255a18c3f 100644 --- a/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c +++ b/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c @@ -3376,98 +3376,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C59C(s32 arg0) { @@ -5626,30 +5545,8 @@ typedef struct { u16 x3, y3; u32 uv3; } PFT4_FD64; -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy0(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stsxy1(r0) __asm__ volatile ( \ - "swc2 $13, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8017FD64(s32 arg0) { @@ -5687,7 +5584,7 @@ void func_8017FD64(s32 arg0) gte_rtpt(); gte_stsxy0(&sxy[0]); gte_stsxy1(&sxy[1]); - gte_stotz(&opz); + gte_stszotz(&opz); if (!((u16)(sxy[0].vx + 0xA0) < 0x141)) continue; if (!((u16)(sxy[0].vy + 0x78) < 0xF1)) continue; q = (PFT4_FD64 *)pkt; diff --git a/src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.c b/src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.c index 0fd96aae8a..fb2c6cf569 100644 --- a/src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.c +++ b/src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80186DF0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186DF4) : "memory"); + gte_stlvnl(D_80186DF4); pc0 = D_80186DF0; pc4 = D_80186DF4; diff --git a/src/ov_SC01_084/ov_SC01_084_jr_801380E0.c b/src/ov_SC01_084/ov_SC01_084_jr_801380E0.c index c3c0d8fd70..3f3118b9be 100644 --- a/src/ov_SC01_084/ov_SC01_084_jr_801380E0.c +++ b/src/ov_SC01_084/ov_SC01_084_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80186F1C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c b/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c index 58702e2172..e7286f82b7 100644 --- a/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c +++ b/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.c @@ -2695,73 +2695,14 @@ extern void func_8017C7C4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2771,45 +2712,10 @@ extern void func_8017C7C4(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017CA80__t67f11bf2.h" diff --git a/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c b/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c index 743baeaab3..680813a3c0 100644 --- a/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c +++ b/src/ov_SC01_084/ov_SC01_084_jr_80182A00.c @@ -2640,68 +2640,12 @@ extern s16 D_8018AC64; /* vert1 .vz */ extern s16 D_8018AC68; /* vert2 .vx/.vy */ extern s16 D_8018AC6C; /* vert2 .vz */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 x; /* +0x0 */ diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.c b/src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.c index 864bf5767a..55dd80c168 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.c @@ -811,46 +811,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -926,114 +886,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2269,80 +2121,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2679,11 +2457,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018B1A0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018B1A4) : "memory"); + gte_stlvnl(D_8018B1A4); pc0 = D_8018B1A0; pc4 = D_8018B1A4; diff --git a/src/ov_SC02_000/ov_SC02_000_jr_801380E0.c b/src/ov_SC02_000/ov_SC02_000_jr_801380E0.c index 6ffa37e158..7ebb43d3e3 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_801380E0.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018B2CC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c b/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c index 6af081b257..5e743071f9 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.c @@ -3871,98 +3871,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_D538; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_D538; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_D538; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D538(s32 arg0) { diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c index 464bdd986a..3bc92525a2 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c @@ -4439,19 +4439,8 @@ extern void func_801824CC(void); extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_80184BD8(s32 p) { s32 sz[1]; @@ -4869,56 +4858,13 @@ extern void func_800491AC(void *a0); extern s32 GetTPage(s32 a0, s32 a1, s32 a2, s32 a3); extern s32 func_8005A600(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4); -#define gte_ldv3(r0,r1,r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stsxy3(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80185910(SVECTOR *a0, SVECTOR *a1, SVECTOR *a2, SVECTOR *a3) { @@ -4938,7 +4884,7 @@ void func_80185910(SVECTOR *a0, SVECTOR *a1, SVECTOR *a2, SVECTOR *a3) gte_stflg(&flag); if ((flag & 0x7F85E000) == 0) { p = *(u8 **)&D_800A5E60; - gte_stsxy3(xy); + gte_stsxy3c(xy); gte_ldv0(a3); gte_rtps(); ((u8 *)p)[7] = 0x3A; diff --git a/src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.c b/src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.c index 2bceb294e4..1a4eb6c160 100644 --- a/src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.c +++ b/src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E280) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E284) : "memory"); + gte_stlvnl(D_8017E284); pc0 = D_8017E280; pc4 = D_8017E284; diff --git a/src/ov_SC02_004/ov_SC02_004_jr_801380E0.c b/src/ov_SC02_004/ov_SC02_004_jr_801380E0.c index 9619fe91a9..3cf4e40f54 100644 --- a/src/ov_SC02_004/ov_SC02_004_jr_801380E0.c +++ b/src/ov_SC02_004/ov_SC02_004_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017E3AC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c b/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c index 308ac81e39..0a88b6c41a 100644 --- a/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c +++ b/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.c @@ -3375,98 +3375,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C59C(s32 arg0) { diff --git a/src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.c b/src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.c index f5a55240b0..e4420d7a03 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80190E84) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80190E88) : "memory"); + gte_stlvnl(D_80190E88); pc0 = D_80190E84; pc4 = D_80190E88; diff --git a/src/ov_SC02_005/ov_SC02_005_jr_801380E0.c b/src/ov_SC02_005/ov_SC02_005_jr_801380E0.c index 37e265e3d9..e22f8162c6 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_801380E0.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80190FB0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c b/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c index 5d851e62ec..2be178b6a2 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c @@ -2720,98 +2720,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_CF90; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_CF90; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_CF90; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017CF90(s32 arg0) { diff --git a/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c b/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c index 0d916191a0..83f26d3120 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c @@ -3256,7 +3256,7 @@ void func_8018A4C4(s32 a0) : : "r"((u8 *)*(s32 *)(a0 + 0x20) + 0x34) : "$12", "$13", "$14", "memory" - ); + ); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) for (i = 0; i < 8; i++) { s0 = func_8012913C(0xC); @@ -3301,24 +3301,7 @@ void func_8018A6A0(s32 a0, u16 *a1) func_8012B2CC(a0); - __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" - "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"((u8 *)*(s32 *)(s0 + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetRotTransMatrix((u8 *)*(s32 *)(s0 + 0x20) + 0x34); vec0[2] = 0; vec0[0] = 0; @@ -3334,17 +3317,9 @@ body: "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(vec0) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(res) : "memory"); - __asm__ __volatile__( - "cfc2 $12, $31\n" - "nop\n" - "sw $12, 0(%0)\n" - : : "r"(&flags) : "$12", "memory"); + : : "r"(vec0) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl(res); + gte_stflg(&flags); *(u16 *)(puVar + 6) = (u16)res[0]; *(u16 *)(puVar + 0xA) = (u16)res[1]; *(u16 *)(puVar + 0xE) = (u16)(res[2] - 8); @@ -4781,24 +4756,7 @@ void func_8018C454(void *a0) func_8004978C(angle, &mtx); - __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" - "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"(&mtx) : "$12", "$13", "$14"); + gte_SetRotTransMatrix(&mtx); __asm__ __volatile__( "lwc2 $0, 0(%0)\n" @@ -4806,19 +4764,11 @@ void func_8018C454(void *a0) "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(vec0) : "memory"); + : : "r"(vec0) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(s0 + 4) : "memory"); + gte_stlvnl(s0 + 4); - __asm__ __volatile__( - "cfc2 $12, $31\n" - "nop\n" - "sw $12, 0(%0)\n" - : : "r"(&flags) : "$12", "memory"); + gte_stflg(&flags); *(s32 *)(s0 + 4) <<= 16; *(s32 *)(s0 + 8) <<= 16; diff --git a/src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.c b/src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.c index cf83f9f382..23a0118399 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801912D4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801912D8) : "memory"); + gte_stlvnl(D_801912D8); pc0 = D_801912D4; pc4 = D_801912D8; diff --git a/src/ov_SC02_011/ov_SC02_011_jr_801380E0.c b/src/ov_SC02_011/ov_SC02_011_jr_801380E0.c index 2d238d61fb..17012e9c08 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_801380E0.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80191400[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c b/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c index 7ea62945aa..57a8b90842 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c @@ -5253,25 +5253,8 @@ extern void func_80017714(void *); extern struct PW8017E72C D_80194BA4[]; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017E72C(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, SVECTOR_8017E72C *e, SVECTOR_8017E72C *f, s16 *g) @@ -5324,15 +5307,15 @@ void func_8017E72C(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -5341,7 +5324,7 @@ void func_8017E72C(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -5349,7 +5332,7 @@ void func_8017E72C(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -5357,7 +5340,7 @@ void func_8017E72C(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -5990,45 +5973,6 @@ extern void func_80013F3C(s32 a0); extern void func_80017714(void *); extern void func_8004914C(); extern void func_800491AC(); -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) void func_8017F7B4(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) { @@ -6063,22 +6007,22 @@ void func_8017F7B4(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) r0_00 = &D_801EB4C8[0]; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); a1->vx = a1->vx - 2; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); a2->vx = a2->vx - 2; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -6087,12 +6031,12 @@ void func_8017F7B4(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) a1->vx = a1->vx + 4; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); a2->vx = a2->vx + 4; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = *(u16 *)(a0 + 0xE); @@ -7207,105 +7151,18 @@ typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PolyFT4_80180FE4; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_80180FE4(s32 arg0) { diff --git a/src/ov_SC02_011/ov_SC02_011_jr_80183178.c b/src/ov_SC02_011/ov_SC02_011_jr_80183178.c index 6f345d6d0b..8bbb457bb7 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_80183178.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_80183178.c @@ -1690,53 +1690,12 @@ s32 func_8018567C(s32 a0, s32 a1) { -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8018576C(u8 *vb) { @@ -3566,30 +3525,6 @@ extern void func_80015978(s32 a0, s32 *a1); extern void func_80187FA0(u8 *a0, u8 *a1); extern void func_80188034(s32 a0); -#define gte_SetRotMatrix_87E08(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"(r0) \ - : "$12", "$13", "$14") -#define gte_SetTransMatrix_87E08(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"(r0) \ - : "$12", "$13", "$14") void func_80187E08(s32 param_1) { @@ -3612,15 +3547,15 @@ void func_80187E08(s32 param_1) __asm__ volatile(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9) mtx = (s32)&D_800AF648; - gte_SetRotMatrix_87E08(mtx); - gte_SetTransMatrix_87E08(mtx); + gte_SetRotMatrix(mtx); + gte_SetTransMatrix(mtx); func_80015978(param_1 + 4, (s32 *)sxy); - __asm__ volatile("lwc2 $0, 0(%0)\n\tlwc2 $1, 4(%0)" : : "r"(sxy) : "memory"); - __asm__ volatile("nop\n\tnop\n\trtps" : : : "memory"); - __asm__ volatile("swc2 $14, 0(%0)" : : "r"(sxy) : "memory"); - __asm__ volatile("cfc2 $12, $31\n\tnop\n\tsw $12, 0(%0)" : : "r"(&flag) : "$12"); + __asm__ volatile("lwc2 $0, 0(%0)\n\tlwc2 $1, 4(%0)" : : "r"(sxy) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0_m) beyond Sony's (P36 T5 gte1) + __asm__ volatile("nop\n\tnop\n\trtps" : : : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_rtps_m) beyond Sony's (P36 T5 gte1) + gte_stsxy(sxy); + __asm__ volatile("cfc2 $12, $31\n\tnop\n\tsw $12, 0(%0)" : : "r"(&flag) : "$12"); // !FAKE: gte direct — clobbers ['memory'] (gte_stflg_v) beyond Sony's (P36 T5 gte1) xt = sxy[0]; lim = ((u32)D_800AF7BC >> 1) + 0x20; diff --git a/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c b/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c index 94d95ffb94..b3f7263b28 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c @@ -800,30 +800,6 @@ extern void RotTransSV(void *a0, void *a1, void *a2); extern s32 func_80143BDC(u16 *a0); extern s32 rand(void); -#define SRM_80189F30(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_80189F30(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80189F30(void *param_1) { s16 v[8]; @@ -835,8 +811,8 @@ void func_80189F30(void *param_1) { v[1] = D_801961CE; m = (s32 *)(*(s32 *)((s32)param_1 + 0x20) + 0x34); - SRM_80189F30(m); - STM_80189F30(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); for (i = 0; i < 10; i++) { r = rand() % 144; if (rand() & 1) { @@ -3821,30 +3797,6 @@ extern void RotTransSV(void *a0, void *a1, void *a2); extern u8 D_801DF68C[]; extern u8 D_801DF694[]; -#define SRM_8018D720(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_8018D720(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8018D720(void *param_1) { @@ -3856,8 +3808,8 @@ void func_8018D720(void *param_1) m = (s32 *)(*(s32 *)((s32)param_1 + 0x20) + 0x34); - SRM_8018D720(m); - STM_8018D720(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); RotTransSV(D_801DF68C, sv0, &flag); RotTransSV(D_801DF694, sv1, &flag); @@ -4454,30 +4406,6 @@ extern u8 D_801DF7B8[]; /* NOT named gte_SetRotMatrix/gte_SetTransMatrix: the host TU already defines * those two names twice and a third definition would collide. */ -#define SRM_8018E208(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_8018E208(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 func_8018E208(void *a0) { @@ -4507,8 +4435,8 @@ s32 func_8018E208(void *a0) p0 = base; for (i = 0; i < 4; i++) { - SRM_8018E208(matrix); - STM_8018E208(matrix); + gte_SetRotMatrix(matrix); + gte_SetTransMatrix(matrix); RotTransSV(p0, sv0, &flag); RotTransSV(p1, sv1, &flag); @@ -4828,30 +4756,6 @@ extern s32 func_80017758(void *a0, void *a1); extern u32 D_801DF7F8[]; extern u8 D_801DF85C[]; -#define SRM_8018E8A0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_8018E8A0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0; /* 0x08 */ typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0; /* 0x10 */ @@ -4948,8 +4852,8 @@ void func_8018E8A0(void *a0) ((s32)(s16)*(u16 *)((s32)a0 + 0x70) / 2) * 0x20); dst = prim.v; - SRM_8018E8A0(&mtx); - STM_8018E8A0(&mtx); + gte_SetRotMatrix(&mtx); + gte_SetTransMatrix(&mtx); for (j = 0; j < 4; j++, src++, dst++) { RotTransSV(src, dst, &flag); @@ -5377,30 +5281,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_8018F390"); @@ -6192,30 +6072,6 @@ extern void RotTransSV(void *a0, void *a1, void *a2); * touching the shared header. */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §71 sibling: identical shape to func_8018F390 (same TU, this file, D_80126B78/RotTransSV/ * func_80135888/func_8012BDBC/func_80178BF8/func_80172710 idiom) already MATCHED -- only the diff --git a/src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.c b/src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.c index 1929243d43..e28bea70a9 100644 --- a/src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.c +++ b/src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E7E8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E7EC) : "memory"); + gte_stlvnl(D_8017E7EC); pc0 = D_8017E7E8; pc4 = D_8017E7EC; diff --git a/src/ov_SC02_015/ov_SC02_015_jr_801380E0.c b/src/ov_SC02_015/ov_SC02_015_jr_801380E0.c index e075d47746..d14eba33d5 100644 --- a/src/ov_SC02_015/ov_SC02_015_jr_801380E0.c +++ b/src/ov_SC02_015/ov_SC02_015_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017E914[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c b/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c index 709d7d5ac5..9de628c27a 100644 --- a/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c +++ b/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c @@ -3435,65 +3435,6 @@ void func_8017C18C(s32 a0) { #include "../shared/ov/func_8017C230.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3501,41 +3442,6 @@ void func_8017C18C(s32 a0) { : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C294__t67f11bf2.h" @@ -3900,68 +3806,12 @@ extern s32 func_8012EF34(s32 a0, s32 a1); extern void func_80017D98(void *a0); extern void func_8001739C(void *a0); -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 x; /* +0x0 */ diff --git a/src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.c b/src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.c index 0750a80a68..68a5625cf7 100644 --- a/src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.c +++ b/src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184A20) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184A24) : "memory"); + gte_stlvnl(D_80184A24); pc0 = D_80184A20; pc4 = D_80184A24; diff --git a/src/ov_SC02_016/ov_SC02_016_jr_801380E0.c b/src/ov_SC02_016/ov_SC02_016_jr_801380E0.c index c1556c47cb..19b2f3b97a 100644 --- a/src/ov_SC02_016/ov_SC02_016_jr_801380E0.c +++ b/src/ov_SC02_016/ov_SC02_016_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184B4C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c b/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c index f1ab5cc705..2de25c915a 100644 --- a/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c +++ b/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c @@ -2703,121 +2703,20 @@ extern void func_8017D9B4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017DC70(s32 arg0) { @@ -3056,7 +2955,7 @@ void func_8017DC70(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -3791,24 +3690,7 @@ void func_8017F8C0(void *a0) { func_8004978C(angle, &mtx); - __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" - "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"(&mtx) : "$12", "$13", "$14"); + gte_SetRotTransMatrix(&mtx); __asm__ __volatile__( "lwc2 $0, 0(%0)\n" @@ -3816,19 +3698,11 @@ void func_8017F8C0(void *a0) { "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(vec0) : "memory"); + : : "r"(vec0) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(s0 + 4) : "memory"); + gte_stlvnl(s0 + 4); - __asm__ __volatile__( - "cfc2 $12, $31\n" - "nop\n" - "sw $12, 0(%0)\n" - : : "r"(&flags) : "$12", "memory"); + gte_stflg(&flags); *(s32 *)(s0 + 4) <<= 16; *(s32 *)(s0 + 8) <<= 16; @@ -4153,48 +4027,6 @@ extern u8 *D_8018850C[]; extern void func_80015978(s32 a0, s32 *a1); extern void func_801802C8(u8 *a0, u8 *a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80180154(s32 param_1) { diff --git a/src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.c b/src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.c index 475985cbb1..276144961a 100644 --- a/src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.c +++ b/src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018AA78) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018AA7C) : "memory"); + gte_stlvnl(D_8018AA7C); pc0 = D_8018AA78; pc4 = D_8018AA7C; diff --git a/src/ov_SC02_017/ov_SC02_017_jr_801380E0.c b/src/ov_SC02_017/ov_SC02_017_jr_801380E0.c index 17e8425213..afc258cf75 100644 --- a/src/ov_SC02_017/ov_SC02_017_jr_801380E0.c +++ b/src/ov_SC02_017/ov_SC02_017_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018ABA4[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c b/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c index 6ced799370..93b7f0ca3b 100644 --- a/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c +++ b/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c @@ -2708,121 +2708,20 @@ extern void func_8017DE98(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017DF34(s32 arg0) { @@ -3061,7 +2960,7 @@ void func_8017DF34(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -4171,30 +4070,6 @@ extern void RotTransSV(void *a0, void *a1, void *a2); /* not declared anywhere in src/ or include/ */ extern u8 D_8018E27C[]; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80180410(s32 a0, s32 a1, s32 a2) { @@ -5091,30 +4966,6 @@ extern void func_80172710(void); extern s32 func_80178BF8(); extern void RotTransSV(void *a0, void *a1, void *a2); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) @@ -5373,48 +5224,6 @@ s32 func_80181E5C(void *a0) { } -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* TU RECONCILE (ov_SC02_017_jr_8017DF34.c:5281): the file's authoritative forward declaration is `extern void func_80181E98(u8 *a0);` -- a stale guess from before this function was matched (the @@ -5522,10 +5331,6 @@ ret0: typedef struct { s16 vx, vy, vz, pad; } SV_8018209C; typedef struct { s16 x, y; s32 flag; } RES_8018209C; -#define GTE_LDXY_8018209C(r) __asm__ __volatile__ ("lwc2 $0, 0(%0)\nlwc2 $1, 4(%0)" : : "r"(r)) -#define GTE_RTPS_8018209C() __asm__ __volatile__ ("nop\nnop\nrtps") -#define GTE_STXY_8018209C(r) __asm__ __volatile__ ("swc2 $14, 0(%0)" : : "r"(r)) -#define GTE_STFLG_8018209C(r) __asm__ __volatile__ ("cfc2 $12, $31\nnop\nsw $12, 0(%0)" : : "r"(r) : "$12", "memory") extern u8 D_800AF648; extern u8 D_8018E56C[]; @@ -5550,17 +5355,17 @@ void func_8018209C(void *arg0) "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"(g) : "$12", "$13", "$14", "memory"); + : : "r"(g) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) __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"(g) : "$12", "$13", "$14", "memory"); + : : "r"(g) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) - GTE_LDXY_8018209C(&vin); - GTE_RTPS_8018209C(); - GTE_STXY_8018209C(&res.x); - GTE_STFLG_8018209C(&res.flag); + gte_ldv0(&vin); + gte_rtps(); + gte_stsxy(&res.x); + gte_stflg(&res.flag); if ((res.flag & -0x1001) != 0) { rv = 0; goto out; } if ((res.x < 0 ? -res.x : res.x) >= 0xAB) @@ -5573,10 +5378,10 @@ L2: w.vx = *(u16 *)((s32)arg0 + 6); w.vy = *(u16 *)((s32)arg0 + 0xA); w.vz = *(u16 *)((s32)arg0 + 0xE); - GTE_LDXY_8018209C(&w); - GTE_RTPS_8018209C(); - GTE_STXY_8018209C(&res.x); - GTE_STFLG_8018209C(&res.flag); + gte_ldv0(&w); + gte_rtps(); + gte_stsxy(&res.x); + gte_stflg(&res.flag); if ((res.flag & -0x1001) != 0) { rv = 0; goto out; } if ((res.x < 0 ? -res.x : res.x) >= 0x105) { rv = 0; goto out; } @@ -6189,8 +5994,7 @@ void func_80182FD0(int param) __asm__ volatile("lwc2 $0,0(%0);lwc2 $1,4(%0);nop;nop;rtps;swc2 $14,0(%0)" : : "r"(buf) : "memory"); /* gte_stflg(&buf[2]); */ - __asm__ volatile("cfc2 $12,$31;nop;sw $12,0(%0)" - : : "r"(buf + 2) : "$12", "memory"); + gte_stflg(buf + 2); lim = (D_800AF7BC >> 1) + 0x20; x = (int)(s16)buf[0]; diff --git a/src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.c b/src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.c index 9682312046..f8c22a6818 100644 --- a/src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.c +++ b/src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018006C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80180070) : "memory"); + gte_stlvnl(D_80180070); pc0 = D_8018006C; pc4 = D_80180070; diff --git a/src/ov_SC02_021/ov_SC02_021_jr_801380E0.c b/src/ov_SC02_021/ov_SC02_021_jr_801380E0.c index 20212607f8..0931f03281 100644 --- a/src/ov_SC02_021/ov_SC02_021_jr_801380E0.c +++ b/src/ov_SC02_021/ov_SC02_021_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80180198[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c b/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c index e8f1835c6a..fb30f88d7c 100644 --- a/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c +++ b/src/ov_SC02_021/ov_SC02_021_jr_8017C294.c @@ -2696,73 +2696,14 @@ extern void func_8017C230(int a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2772,45 +2713,10 @@ extern void func_8017C230(int a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C294__t67f11bf2.h" @@ -3283,47 +3189,11 @@ extern u8 D_800A6610[]; extern short D_800B9A02; extern u8 *D_800A5E60; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) s32 func_8017DC10(s32 *a) { diff --git a/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c b/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c index c01c60a2dd..356a1f8e63 100644 --- a/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c +++ b/src/ov_SC02_021/ov_SC02_021_jr_8017ECFC.c @@ -3188,68 +3188,12 @@ extern s16 D_80183958; extern s16 D_80183960; extern s16 D_80183968; -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 x; /* +0x0 */ diff --git a/src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.c b/src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.c index 4914bc712d..fe907ce60d 100644 --- a/src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.c +++ b/src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801866C0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801866C4) : "memory"); + gte_stlvnl(D_801866C4); pc0 = D_801866C0; pc4 = D_801866C4; diff --git a/src/ov_SC02_026/ov_SC02_026_jr_801380E0.c b/src/ov_SC02_026/ov_SC02_026_jr_801380E0.c index cf0d380f98..0eb029f403 100644 --- a/src/ov_SC02_026/ov_SC02_026_jr_801380E0.c +++ b/src/ov_SC02_026/ov_SC02_026_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801867EC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c index 9ad8d8c551..8f5657c63f 100644 --- a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c +++ b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c @@ -2686,73 +2686,14 @@ extern void func_8017C0E4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2762,45 +2703,10 @@ extern void func_8017C0E4(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C180__t67f11bf2.h" @@ -5108,30 +5014,6 @@ extern s32 func_80143B6C(s32 a0, s32 a1); extern s32 rand(void); extern void RotTransSV(void *a0, void *a1, void *a2); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80180520(void *a0) { diff --git a/src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.c b/src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.c index 1d4646ab2a..7f4721c9c0 100644 --- a/src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.c +++ b/src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018B7E4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018B7E8) : "memory"); + gte_stlvnl(D_8018B7E8); pc0 = D_8018B7E4; pc4 = D_8018B7E8; diff --git a/src/ov_SC02_027/ov_SC02_027_jr_801380E0.c b/src/ov_SC02_027/ov_SC02_027_jr_801380E0.c index 063c1ef854..c53044e080 100644 --- a/src/ov_SC02_027/ov_SC02_027_jr_801380E0.c +++ b/src/ov_SC02_027/ov_SC02_027_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018B910[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c b/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c index dfd3b61cd1..ef830af84a 100644 --- a/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c +++ b/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c @@ -2692,73 +2692,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" @@ -3936,30 +3842,6 @@ extern void func_8012F038(int param_1, short *param_2, short *param_3); typedef struct { s32 w[8]; } Mtx32_80180088; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80180088(s32 param_1) { @@ -4374,81 +4256,6 @@ typedef struct { s16 vx, vy; } DV_80180B3C; (((PTag_80180B3C *)(p))->addr = ((PTag_80180B3C *)(o))->addr, \ ((PTag_80180B3C *)(o))->addr = (u32)(p)) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy0_80180B3C(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy1_80180B3C(r0) __asm__ volatile ( \ - "swc2 $13, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz_80180B3C(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80180B3C(s32 a0) { @@ -4507,7 +4314,7 @@ void func_80180B3C(s32 a0) gte_ldv0(&sv); gte_rtps(); gte_stsxy(&sxy0); - gte_stsz_80180B3C(&sz); + gte_stsz(&sz); *(u16 *)&D_801DA730 = *(u16 *)(a0 + 8); D_801DA738 = *(u16 *)(a0 + 0xA); @@ -4522,8 +4329,8 @@ void func_80180B3C(s32 a0) sv2.vz = sz; gte_ldv3(&sv, &sv2, &sv2); gte_rtpt(); - gte_stsxy0_80180B3C(&sxy1); - gte_stsxy1_80180B3C(&sxy2); + gte_stsxy0(&sxy1); + gte_stsxy1(&sxy2); gte_stflg(&flg); gte_stszotz(&otz); @@ -7044,54 +6851,6 @@ void func_801846A0(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80184834(void *a0) { diff --git a/src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.c b/src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.c index 6ecee16d13..7234602284 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018B9E8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018B9EC) : "memory"); + gte_stlvnl(D_8018B9EC); pc0 = D_8018B9E8; pc4 = D_8018B9EC; diff --git a/src/ov_SC02_028/ov_SC02_028_jr_801380E0.c b/src/ov_SC02_028/ov_SC02_028_jr_801380E0.c index 30ec2556a6..b36ccea25b 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_801380E0.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018BB14[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c b/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c index 65e926e00e..6e6709e2e8 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c @@ -2692,73 +2692,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" @@ -6280,55 +6186,12 @@ void func_80182F88(s32 param) { * well after that block); the reconciler may also just drop them. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80182FD4(void *a0, void *a1) { diff --git a/src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.c b/src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.c index cdb724d309..e268e9f173 100644 --- a/src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.c +++ b/src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80185214) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80185218) : "memory"); + gte_stlvnl(D_80185218); pc0 = D_80185214; pc4 = D_80185218; diff --git a/src/ov_SC02_031/ov_SC02_031_jr_801380E0.c b/src/ov_SC02_031/ov_SC02_031_jr_801380E0.c index 74ed4b9052..e9c3fe2ebf 100644 --- a/src/ov_SC02_031/ov_SC02_031_jr_801380E0.c +++ b/src/ov_SC02_031/ov_SC02_031_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80185340[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c index ad803dab05..d97f3dcee0 100644 --- a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c +++ b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c @@ -5646,86 +5646,6 @@ void func_8017F590(void *a0) { #include "common.h" #include "../shared/engine_types.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define BOXTEST(F, X, Y, Z) \ if (lo_x < (X) && (X) < hi_x && lo_y < (Y) && (Y) < hi_y && lo_z < (Z) && (Z) < hi_z) F = 1 #define ATTEN(A, X, Y, Z) \ @@ -8119,11 +8039,7 @@ void func_80183DC0(void *a0) { "nop\n" "sqr 0\n" : : "r"(p) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(p) : "memory"); + gte_stlvnl(p); } if (*(s16 *)((s32)a0 + 0x36) == 0) { @@ -8720,30 +8636,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80184A9C"); diff --git a/src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.c b/src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.c index 3d14afe9ab..a40d7cbddb 100644 --- a/src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.c +++ b/src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2272,80 +2124,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2682,11 +2460,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184A74) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184A78) : "memory"); + gte_stlvnl(D_80184A78); pc0 = D_80184A74; pc4 = D_80184A78; diff --git a/src/ov_SC02_035/ov_SC02_035_jr_801380E0.c b/src/ov_SC02_035/ov_SC02_035_jr_801380E0.c index 0f24677489..1b4ec47fd1 100644 --- a/src/ov_SC02_035/ov_SC02_035_jr_801380E0.c +++ b/src/ov_SC02_035/ov_SC02_035_jr_801380E0.c @@ -1011,22 +1011,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184BA0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1047,7 +1033,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1124,12 +1110,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1143,12 +1125,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c b/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c index 4ee42bb5f3..8057db9400 100644 --- a/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c +++ b/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c @@ -2681,73 +2681,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2757,45 +2698,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3587,54 +3493,6 @@ void func_8017E1E0(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017E374(void *a0) { diff --git a/src/ov_SC02_037/ov_SC02_037.c b/src/ov_SC02_037/ov_SC02_037.c index 86fa8687ce..f525939dd5 100644 --- a/src/ov_SC02_037/ov_SC02_037.c +++ b/src/ov_SC02_037/ov_SC02_037.c @@ -1536,130 +1536,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) #include "../shared/ov/func_8012E778.h" @@ -1733,114 +1609,6 @@ void func_8012E9C0(int param_1) typedef struct { s8 c[8]; } Blk8_8012EFB8; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in diff --git a/src/ov_SC02_037/ov_SC02_037_jr_80131340.c b/src/ov_SC02_037/ov_SC02_037_jr_80131340.c index c7e2a0262d..794843cf91 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_80131340.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_80131340.c @@ -1340,116 +1340,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -1794,11 +1684,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801841B0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801841B4) : "memory"); + gte_stlvnl(D_801841B4); pc0 = D_801841B0; pc4 = D_801841B4; diff --git a/src/ov_SC02_037/ov_SC02_037_jr_801380E0.c b/src/ov_SC02_037/ov_SC02_037_jr_801380E0.c index b6035f8acc..1e69ae8d0e 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_801380E0.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_801380E0.c @@ -1058,20 +1058,6 @@ extern void func_8013AA24(s32 a0, s32 a1); #include "../shared/ov/func_8013AB54.h" -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1095,7 +1081,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair *)out2)[i].x = res[0]; ((Pair *)out2)[i].y = res[1]; @@ -1174,12 +1160,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1193,12 +1175,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c b/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c index 7bf18096a3..805e88489a 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c @@ -5339,121 +5339,20 @@ extern s32 D_800A5E60; extern u8 D_800A6610[]; extern short D_800B9A02; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D898(s32 arg0) { @@ -5685,7 +5584,7 @@ void func_8017D898(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -8831,54 +8730,6 @@ void func_80182614(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801827A8(void *a0) { diff --git a/src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.c b/src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.c index dde2c213ab..b3c055ea5e 100644 --- a/src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.c +++ b/src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F6A0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F6A4) : "memory"); + gte_stlvnl(D_8017F6A4); pc0 = D_8017F6A0; pc4 = D_8017F6A4; diff --git a/src/ov_SC02_039/ov_SC02_039_jr_801380E0.c b/src/ov_SC02_039/ov_SC02_039_jr_801380E0.c index 9d694b0f11..0863d69d21 100644 --- a/src/ov_SC02_039/ov_SC02_039_jr_801380E0.c +++ b/src/ov_SC02_039/ov_SC02_039_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017F7CC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c b/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c index d8c5ed7070..2691098ad2 100644 --- a/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c +++ b/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.c @@ -2696,73 +2696,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2772,45 +2713,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3571,55 +3477,11 @@ extern u8 D_8019F93C[]; /* byte symbol -> alignment 2 -> lwl/lwr block-move p extern s16 D_8019B584; /* --- GTE inline-asm macros (project-standard spelling) -------------------------------------- */ -#define gte_SetRotMatrix(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ __volatile__ ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ __volatile__ ("nop;nop;.word 0x4A480012") -#define gte_stlvnl(r0) __asm__ __volatile__ ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ __volatile__ ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8017E024(s32 a0) { diff --git a/src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.c b/src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.c index de0c74b2cf..a7bef82bf7 100644 --- a/src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.c +++ b/src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80185370) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80185374) : "memory"); + gte_stlvnl(D_80185374); pc0 = D_80185370; pc4 = D_80185374; diff --git a/src/ov_SC02_041/ov_SC02_041_jr_801380E0.c b/src/ov_SC02_041/ov_SC02_041_jr_801380E0.c index e9255687a8..309b3d0a84 100644 --- a/src/ov_SC02_041/ov_SC02_041_jr_801380E0.c +++ b/src/ov_SC02_041/ov_SC02_041_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018549C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c b/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c index 344b4185fa..2dbeedfb80 100644 --- a/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c +++ b/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c @@ -2682,73 +2682,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2758,45 +2699,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -4732,25 +4638,8 @@ extern struct PW8017E6D8 D_801B9538; extern u8 D_801B953C, D_801B953D, D_801B953E, D_801B9540, D_801B9541, D_801B9542; extern int D_801B9544; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017F314(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -4795,15 +4684,15 @@ void func_8017F314(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -4812,7 +4701,7 @@ void func_8017F314(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -4820,7 +4709,7 @@ void func_8017F314(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -4828,7 +4717,7 @@ void func_8017F314(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -6430,30 +6319,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80181A0C"); @@ -7906,79 +7771,14 @@ extern void func_80017714(void *); /* 0x38 */ -#define gte_ldv0_801837B0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_801837B0() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_801837B0() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4_801837B0() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy_801837B0(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz_801837B0(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801837B0(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801837B0(s32 a0) { @@ -8038,38 +7838,38 @@ void func_801837B0(s32 a0) pkt.code = 0x50000000; m = (s32 *)(base + 0x18); - gte_SetRotMatrix_801837B0(m); - gte_SetTransMatrix_801837B0(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), + gte_ldv3((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), (SV_801837B0 *)(a0 + 0xEC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xF4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xF4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); } - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), + gte_ldv3((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), (SV_801837B0 *)(a0 + 0xDC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xE4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xE4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); @@ -8536,53 +8336,12 @@ extern u8 *D_800A5E60; extern u8 D_800A6610[]; extern short D_800B9A02; -#define gte_ldv3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0_801843D8(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt_801843D8() __asm__ volatile ("nop;nop;rtpt") -#define gte_rtps_801843D8() __asm__ volatile ("nop;nop;rtps") -#define gte_avsz4_801843D8() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy_801843D8(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz_801843D8(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801843D8(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_801843D8(void *a0) { @@ -8599,18 +8358,18 @@ void func_801843D8(void *a0) pkt[3] = 8; pkt[7] = 0x3A; - gte_ldv3_801843D8(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); - gte_rtpt_801843D8(); - gte_stflg_801843D8(&flag1); - gte_stsxy3_801843D8(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv3(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); - gte_ldv0_801843D8((u8 *)a0 + 0x18); - gte_rtps_801843D8(); - gte_stflg_801843D8(&flag2); + gte_ldv0((u8 *)a0 + 0x18); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801843D8(pkt + 0x20); - gte_avsz4_801843D8(); - gte_stotz_801843D8(&otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { u8 *pkt2; diff --git a/src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.c b/src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.c index d6d73f690d..9413dcacf7 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2271,80 +2123,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2681,11 +2459,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018DAB0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018DAB4) : "memory"); + gte_stlvnl(D_8018DAB4); pc0 = D_8018DAB0; pc4 = D_8018DAB4; diff --git a/src/ov_SC03_001/ov_SC03_001_jr_801380E0.c b/src/ov_SC03_001/ov_SC03_001_jr_801380E0.c index d8d731cce8..5affb2f561 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_801380E0.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018DBDC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c b/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c index 47036c453d..daf823ff26 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c @@ -3674,65 +3674,6 @@ extern void func_80146C3C(void); #include "../shared/ov/func_8017C6AC.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3740,41 +3681,6 @@ extern void func_80146C3C(void); : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C710__t3f3d6beb.h" diff --git a/src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.c b/src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.c index 2e3b65c7e5..14f79e9cf4 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.c @@ -817,46 +817,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -932,114 +892,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2275,80 +2127,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2685,11 +2463,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80185AA0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80185AA4) : "memory"); + gte_stlvnl(D_80185AA4); pc0 = D_80185AA0; pc4 = D_80185AA4; diff --git a/src/ov_SC03_002/ov_SC03_002_jr_801380E0.c b/src/ov_SC03_002/ov_SC03_002_jr_801380E0.c index fd63dd0c8f..7745cafaf8 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_801380E0.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80185BCC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c b/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c index 0e14e187e5..3c0291c1ec 100644 --- a/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c +++ b/src/ov_SC03_002/ov_SC03_002_jr_8017D604.c @@ -2685,121 +2685,20 @@ extern void func_8017CF30(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D604(s32 arg0) { @@ -3038,7 +2937,7 @@ void func_8017D604(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.c b/src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.c index 935c8fe53f..ba612577dd 100644 --- a/src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.c +++ b/src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F868) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F86C) : "memory"); + gte_stlvnl(D_8017F86C); pc0 = D_8017F868; pc4 = D_8017F86C; diff --git a/src/ov_SC03_003/ov_SC03_003_jr_801380E0.c b/src/ov_SC03_003/ov_SC03_003_jr_801380E0.c index 32f40a687c..dc9362647c 100644 --- a/src/ov_SC03_003/ov_SC03_003_jr_801380E0.c +++ b/src/ov_SC03_003/ov_SC03_003_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017F994[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c b/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c index 107fa2acc6..c1e98d8972 100644 --- a/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c +++ b/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.c @@ -3433,87 +3433,6 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C6F4(s32 arg0) { diff --git a/src/ov_SC03_003/ov_SC03_003_jr_8017D5C0.c b/src/ov_SC03_003/ov_SC03_003_jr_8017D5C0.c index f53d5749af..b506964683 100644 --- a/src/ov_SC03_003/ov_SC03_003_jr_8017D5C0.c +++ b/src/ov_SC03_003/ov_SC03_003_jr_8017D5C0.c @@ -2689,107 +2689,6 @@ extern void func_8004921C(s32 a0, s32 a1); extern void func_8017C688(s32 a0, s32 a1); /* ==== end §8b carried decl layer ==== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D5C0(s32 arg0) { @@ -3028,7 +2927,7 @@ void func_8017D5C0(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.c b/src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.c index d303a32db5..d3d0b50222 100644 --- a/src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.c +++ b/src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.c @@ -817,46 +817,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -932,114 +892,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2275,80 +2127,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2685,11 +2463,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018CB84) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018CB88) : "memory"); + gte_stlvnl(D_8018CB88); pc0 = D_8018CB84; pc4 = D_8018CB88; diff --git a/src/ov_SC03_006/ov_SC03_006_jr_801380E0.c b/src/ov_SC03_006/ov_SC03_006_jr_801380E0.c index 0df23a1530..5cc762f75a 100644 --- a/src/ov_SC03_006/ov_SC03_006_jr_801380E0.c +++ b/src/ov_SC03_006/ov_SC03_006_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018CCB0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c index 91db4f6222..a3524bc2a1 100644 --- a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c +++ b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c @@ -5716,97 +5716,17 @@ extern void func_8017F510(s32 arg0, s32 arg1, s32 arg2); * target used -- then set the scope to match. (New cookbook entry.) * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- the two gouraud-textured packet layouts this function emits ---------- */ /* 0x28 */ @@ -9787,30 +9707,6 @@ void func_801856A0(s32 a0) { } -#define SRM_8018584C(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_8018584C(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* DEF-SIDE ALIAS (§37/§124, §136f#2): TU declares `extern s32 func_8018584C(s32)` * (TU:8796) and both callers discard the result; the real definition is @@ -9829,8 +9725,8 @@ void aF8018584C(s32 a0) s32 t; mtx = *(s32 **)(a0 + 0x20) + 13; - SRM_8018584C(mtx); - STM_8018584C(mtx); + gte_SetRotMatrix(mtx); + gte_SetTransMatrix(mtx); RotTransSV(D_801C5A48, out0, &flag); RotTransSV(D_801C5A50, out1, &flag); @@ -10405,30 +10301,6 @@ extern void RotTransSV(void *a0, void *a1, void *a2); /* TU:3111 verbatim * extern void func_80020DA4(s32 a0, s32 a1); extern u8 D_801C5B74[]; -#define SRM_80186334(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_80186334(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 func_80186334(void *a0) { @@ -10458,8 +10330,8 @@ s32 func_80186334(void *a0) p0 = base; for (i = 0; i < 4; i++) { - SRM_80186334(matrix); - STM_80186334(matrix); + gte_SetRotMatrix(matrix); + gte_SetTransMatrix(matrix); RotTransSV(p0, sv0, &flag); RotTransSV(p1, sv1, &flag); @@ -10701,30 +10573,6 @@ extern void func_8012B414(int a0); extern void func_8012C218(void *a0); typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_801869CC; typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_801869CC; -#define SRM_8018E8A0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_8018E8A0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_801869CC; /* 0x08 */ typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0_801869CC; /* 0x10 */ @@ -10824,8 +10672,8 @@ void func_801869CC(void *a0) ((s32)(s16)*(u16 *)((s32)a0 + 0x70) / 2) * 0x20); dst = prim.v; - SRM_8018E8A0(&mtx); - STM_8018E8A0(&mtx); + gte_SetRotMatrix(&mtx); + gte_SetTransMatrix(&mtx); for (j = 0; j < 4; j++, src++, dst++) { RotTransSV(src, dst, &flag); @@ -11251,30 +11099,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_801874BC"); diff --git a/src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.c b/src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.c index 2547534032..e174e82fec 100644 --- a/src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.c +++ b/src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018797C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80187980) : "memory"); + gte_stlvnl(D_80187980); pc0 = D_8018797C; pc4 = D_80187980; diff --git a/src/ov_SC03_007/ov_SC03_007_jr_801380E0.c b/src/ov_SC03_007/ov_SC03_007_jr_801380E0.c index c470d6b602..5eca783961 100644 --- a/src/ov_SC03_007/ov_SC03_007_jr_801380E0.c +++ b/src/ov_SC03_007/ov_SC03_007_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80187AA8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c b/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c index 582f614356..729775f064 100644 --- a/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c +++ b/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c @@ -3375,98 +3375,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C59C(s32 arg0) { @@ -4893,32 +4812,8 @@ s32 func_8017EA04(s32 arg0) { */ #ifndef gte_SetRotMatrix -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) #endif #ifndef gte_SetTransMatrix -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) #endif /* bodies identical to engine_types.h's MTX / SV4; per-function names per the @@ -5745,30 +5640,6 @@ extern u8 D_8018BE48[]; extern u8 D_8018BE50[]; extern void RotTransSV(void *a0, void *a1, void *a2); -#define SRM_FC6C(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_FC6C(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) extern u8 *func_8017FD6C(s32 a0, s32 a1, s32 a2); @@ -5778,8 +5649,8 @@ void func_8017FC6C(s32 s2) SV4_FC6C sv1; /* sp+0x18 */ s32 flag; /* sp+0x20 */ - SRM_FC6C(*(s32 *)((char *)s2 + 0x20) + 0x34); - STM_FC6C(*(s32 *)((char *)s2 + 0x20) + 0x34); + gte_SetRotMatrix(*(s32 *)((char *)s2 + 0x20) + 0x34); + gte_SetTransMatrix(*(s32 *)((char *)s2 + 0x20) + 0x34); RotTransSV((void *)D_8018BE48, &sv0, &flag); RotTransSV((void *)D_8018BE50, &sv1, &flag); @@ -6347,30 +6218,6 @@ extern u8 D_8018BF68[]; /* Same SRM/STM idiom as ov_SC02_011:func_8018E208 (not named * gte_SetRotMatrix/gte_SetTransMatrix — collides with the TU's own uses). */ -#define SRM_80180838(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_80180838(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 func_80180838(void *a0, s32 a1, s32 a2) { @@ -6398,8 +6245,8 @@ s32 func_80180838(void *a0, s32 a1, s32 a2) p0 = base; for (i = 0; i < 4; i++) { - SRM_80180838(matrix); - STM_80180838(matrix); + gte_SetRotMatrix(matrix); + gte_SetTransMatrix(matrix); RotTransSV(p0, sv0, &flag); RotTransSV(p1, sv1, &flag); diff --git a/src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.c b/src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.c index 977f4f6d8d..059d28e7c2 100644 --- a/src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.c +++ b/src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018049C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801804A0) : "memory"); + gte_stlvnl(D_801804A0); pc0 = D_8018049C; pc4 = D_801804A0; diff --git a/src/ov_SC03_010/ov_SC03_010_jr_801380E0.c b/src/ov_SC03_010/ov_SC03_010_jr_801380E0.c index d75c359468..61ccc5f156 100644 --- a/src/ov_SC03_010/ov_SC03_010_jr_801380E0.c +++ b/src/ov_SC03_010/ov_SC03_010_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801805C8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c b/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c index 2cce534c13..8a73c35c07 100644 --- a/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c +++ b/src/ov_SC03_010/ov_SC03_010_jr_8017C730.c @@ -2850,73 +2850,14 @@ extern void func_8017C214(void); * ABLATION (swap) -> 4 mismatched. * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2926,48 +2867,12 @@ extern void func_8017C214(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) - -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) - -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) - -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) - -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") + + + + extern void ReadRotMatrix(MATRIX2 *); extern void PushMatrix(void); diff --git a/src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.c b/src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.c index f7a852af61..1930022c97 100644 --- a/src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.c +++ b/src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018180C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80181810) : "memory"); + gte_stlvnl(D_80181810); pc0 = D_8018180C; pc4 = D_80181810; diff --git a/src/ov_SC03_011/ov_SC03_011_jr_801380E0.c b/src/ov_SC03_011/ov_SC03_011_jr_801380E0.c index cf8990f9c7..e85c47f8c9 100644 --- a/src/ov_SC03_011/ov_SC03_011_jr_801380E0.c +++ b/src/ov_SC03_011/ov_SC03_011_jr_801380E0.c @@ -1012,22 +1012,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80181938[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1048,7 +1034,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1125,12 +1111,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1144,12 +1126,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c b/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c index ae1794e9a9..ac3efd8bf8 100644 --- a/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c +++ b/src/ov_SC03_011/ov_SC03_011_jr_8017C730.c @@ -2691,121 +2691,20 @@ extern void func_8017C214(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C730(s32 arg0) { @@ -3044,7 +2943,7 @@ void func_8017C730(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.c b/src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.c index 38865ea1ab..9b0d079c51 100644 --- a/src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.c +++ b/src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E6EC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E6F0) : "memory"); + gte_stlvnl(D_8017E6F0); pc0 = D_8017E6EC; pc4 = D_8017E6F0; diff --git a/src/ov_SC03_012/ov_SC03_012_jr_801380E0.c b/src/ov_SC03_012/ov_SC03_012_jr_801380E0.c index 441fea13d4..2a6120e62f 100644 --- a/src/ov_SC03_012/ov_SC03_012_jr_801380E0.c +++ b/src/ov_SC03_012/ov_SC03_012_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017E818[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c b/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c index b76a690239..299df9c78b 100644 --- a/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c +++ b/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.c @@ -3378,98 +3378,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C59C(s32 arg0) { diff --git a/src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.c b/src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.c index 383292bd6e..95ebda499e 100644 --- a/src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.c +++ b/src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801814D4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801814D8) : "memory"); + gte_stlvnl(D_801814D8); pc0 = D_801814D4; pc4 = D_801814D8; diff --git a/src/ov_SC03_013/ov_SC03_013_jr_801380E0.c b/src/ov_SC03_013/ov_SC03_013_jr_801380E0.c index 8433b7311d..b18c90cc4b 100644 --- a/src/ov_SC03_013/ov_SC03_013_jr_801380E0.c +++ b/src/ov_SC03_013/ov_SC03_013_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80181600[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c b/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c index d4a573ccb2..2197bde9c5 100644 --- a/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c +++ b/src/ov_SC03_013/ov_SC03_013_jr_8017C730.c @@ -2689,73 +2689,14 @@ extern void func_8017C214(void); * closure per §77's corollary: the 18 gte_* macros + the 5 externs the helper * needs + the bandsetup static-inline helper. NOT the whole region file — that * gives a standalone match_one MATCH and then collides in the real TU. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2765,48 +2706,12 @@ extern void func_8017C214(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) - -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) - -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) - -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) - -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") + + + + extern void ReadRotMatrix(MATRIX2 *); extern void PushMatrix(void); diff --git a/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.c b/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.c index a0b8ee0512..d80a0b9bb5 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.c @@ -813,46 +813,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -928,114 +888,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2271,80 +2123,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2681,11 +2459,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018BB10) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018BB14) : "memory"); + gte_stlvnl(D_8018BB14); pc0 = D_8018BB10; pc4 = D_8018BB14; diff --git a/src/ov_SC03_014/ov_SC03_014_jr_801380E0.c b/src/ov_SC03_014/ov_SC03_014_jr_801380E0.c index 486d798868..f786ef3837 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_801380E0.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018BC3C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c b/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c index 8e5a579bfc..af53d92617 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.c @@ -3468,25 +3468,14 @@ extern u8 D_801EA8E8, D_801EA8E9, D_801EA8EA, D_801EA8EC, D_801EA8ED, D_801EA8EE extern int D_801EA8F0; extern struct PW8017C290 D_8018EF70[]; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ +/* !FAKE: gte variant `gte_rtv0tr_m` — memory beyond Sony's `gte_rtv0tr` (a scheduling steer; P36 T5) */ +#define gte_rtv0tr_m() __asm__ __volatile__( \ "nop\n" \ "nop\n" \ "mvmva 1, 0, 0, 0, 0\n" \ : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, SVECTOR_8017C290 *e, SVECTOR_8017C290 *f, s16 *g) @@ -3531,15 +3520,15 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) r0 = r0_00 + 2; gte_stsv(r0); @@ -3548,7 +3537,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3556,7 +3545,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(r0); *e = *f; @@ -3564,7 +3553,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -4168,25 +4157,8 @@ extern int D_801EA8F0; extern struct PW8017C290 D_8018EF98[]; extern struct PW8017C290 D_8018EFAC[]; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) { @@ -4212,22 +4184,22 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) r0_00 = &D_801EA8C0[0]; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); a1->vx = a1->vx - 2; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); a2->vx = a2->vx - 2; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -4236,12 +4208,12 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) a1->vx = a1->vx + 4; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); a2->vx = a2->vx + 4; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = *(u16 *)(a0 + 0xE); @@ -4650,94 +4622,17 @@ extern void func_80171A1C(u8 *a0); #endif /* BFM_ENGINE_TYPES_H */ /* ---- GTE macro bank — verbatim from the matched sibling func_8017FA5C ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017DF84(s32 arg0, s32 arg1, s32 arg2, s32 arg3) diff --git a/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.c b/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.c index 3a9a805a7d..0cf80a46e8 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.c @@ -2700,121 +2700,20 @@ extern void func_8017DF7C(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017EB7C(s32 arg0) { @@ -3053,7 +2952,7 @@ void func_8017EB7C(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -3314,94 +3213,17 @@ void func_8017EB7C(s32 arg0) #endif /* BFM_ENGINE_TYPES_H */ /* ---- GTE macro bank — verbatim from the matched sibling func_8017EB7C ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017FA5C(s32 arg0, s32 arg1, s32 arg2) diff --git a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c index 9399315c47..b113bbbf53 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c @@ -4689,79 +4689,14 @@ typedef struct { /* every macro is suffixed: this TU already #defines gte_SetRotMatrix (line 4315), * BELOW this function's splice point (3649), so an unsuffixed name would clash. */ -#define gte_ldv0_80187EE8(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_80187EE8(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_80187EE8() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_80187EE8() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4_80187EE8() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy_80187EE8(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_80187EE8(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz_80187EE8(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_80187EE8(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix_80187EE8(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_80187EE8(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80187EE8(s32 a0) { @@ -4814,21 +4749,21 @@ void func_80187EE8(s32 a0) pkt.code = 0x50000000; m = (s32 *)(base + 0x18); - gte_SetRotMatrix_80187EE8(m); - gte_SetTransMatrix_80187EE8(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); - gte_ldv3_80187EE8((SV_80187EE8 *)(a0 + 0xFC), (SV_80187EE8 *)(a0 + 0x104), + gte_ldv3((SV_80187EE8 *)(a0 + 0xFC), (SV_80187EE8 *)(a0 + 0x104), (SV_80187EE8 *)(a0 + 0xDC)); - gte_rtpt_80187EE8(); - gte_stflg_80187EE8(&flag1); - gte_stsxy3_80187EE8(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_80187EE8((SV_80187EE8 *)(a0 + 0xE4)); - gte_rtps_80187EE8(); - gte_stflg_80187EE8(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_80187EE8 *)(a0 + 0xE4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_80187EE8(&pkt.v[3]); - gte_avsz4_80187EE8(); - gte_stotz_80187EE8(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if (otz > 0 && flag1 >= 0 && !((u32)&D_800AE610 < @@ -6254,30 +6189,6 @@ extern void RotTransSV(void *a0, void *a1, void *a2); /* TU L2640 */ extern s32 func_8012BDBC(s32 a0, s32 a1); /* not in TU */ extern u8 D_801E32B0[]; /* not in TU */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_8018A224"); diff --git a/src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.c b/src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.c index d2992bc288..44ebc1be04 100644 --- a/src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.c +++ b/src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F48C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F490) : "memory"); + gte_stlvnl(D_8017F490); pc0 = D_8017F48C; pc4 = D_8017F490; diff --git a/src/ov_SC03_023/ov_SC03_023_jr_801380E0.c b/src/ov_SC03_023/ov_SC03_023_jr_801380E0.c index 082fe40242..5cd26c8efc 100644 --- a/src/ov_SC03_023/ov_SC03_023_jr_801380E0.c +++ b/src/ov_SC03_023/ov_SC03_023_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017F5B8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c b/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c index 65589df9d6..2846288ceb 100644 --- a/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c +++ b/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.c @@ -3367,98 +3367,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C59C(s32 arg0) { diff --git a/src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.c b/src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.c index 0acde13635..c0e84bb684 100644 --- a/src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.c +++ b/src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801874B0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801874B4) : "memory"); + gte_stlvnl(D_801874B4); pc0 = D_801874B0; pc4 = D_801874B4; diff --git a/src/ov_SC03_024/ov_SC03_024_jr_801380E0.c b/src/ov_SC03_024/ov_SC03_024_jr_801380E0.c index 14b225702d..f8cf069c0d 100644 --- a/src/ov_SC03_024/ov_SC03_024_jr_801380E0.c +++ b/src/ov_SC03_024/ov_SC03_024_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801875DC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c b/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c index dabba37d83..bd661da798 100644 --- a/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c +++ b/src/ov_SC03_024/ov_SC03_024_jr_8017AE2C.c @@ -3469,25 +3469,8 @@ extern void func_80017714(void *); extern struct PW8017C290 D_8018A910[]; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, SVECTOR_8017C290 *e, SVECTOR_8017C290 *f, s16 *g) @@ -3540,15 +3523,15 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -3557,7 +3540,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3565,7 +3548,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -3573,7 +3556,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017C290 *c, SVECTOR_8017C290 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -4107,45 +4090,6 @@ extern void func_80013F3C(s32 a0); extern void func_80017714(void *); extern void func_8004914C(); extern void func_800491AC(); -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) { @@ -4180,22 +4124,22 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) r0_00 = &D_801C1230[0]; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); a1->vx = a1->vx - 2; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); a2->vx = a2->vx - 2; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -4204,12 +4148,12 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) a1->vx = a1->vx + 4; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); a2->vx = a2->vx + 4; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = *(u16 *)(a0 + 0xE); diff --git a/src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c b/src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c index 68d0ec6dba..8c3fab4940 100644 --- a/src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c +++ b/src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c @@ -2703,121 +2703,20 @@ extern void func_8017DF7C(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017DF84(s32 arg0) { @@ -3056,7 +2955,7 @@ void func_8017DF84(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.c b/src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.c index e315877662..dc1a26c843 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018BF7C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018BF80) : "memory"); + gte_stlvnl(D_8018BF80); pc0 = D_8018BF7C; pc4 = D_8018BF80; diff --git a/src/ov_SC03_028/ov_SC03_028_jr_801380E0.c b/src/ov_SC03_028/ov_SC03_028_jr_801380E0.c index aa91c0d9b1..0a0fff1732 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_801380E0.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018C0A8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c b/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c index b1b93372c9..ce75da08ac 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_8017DF98.c @@ -2764,98 +2764,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_DF98; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_DF98; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_DF98; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017DF98(s32 arg0) { @@ -4120,30 +4039,6 @@ extern s32 GetTPage(s32, s32, s32, s32); extern s32 AddPrim(s32, void *); extern s32 func_801802F4(s32 a0); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80180494(void *a0) @@ -4255,30 +4150,6 @@ extern u8 D_8018F9A0[]; extern u8 D_800AF648; /* gte_Set{Rot,Trans}Matrix — same macro form already used in this TU (func_80183E04). */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801808CC(s32 a0, s32 a1, s32 a2, s32 a3) { @@ -5053,30 +4924,6 @@ extern s32 func_800133E4(s16 *a0, s16 *a1); extern u8 D_8018F9A0[]; extern u8 D_800AF648; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); extern u8 D_8018F990[]; diff --git a/src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.c b/src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.c index 52332bfcae..3c12db6fc1 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80187DB4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80187DB8) : "memory"); + gte_stlvnl(D_80187DB8); pc0 = D_80187DB4; pc4 = D_80187DB8; diff --git a/src/ov_SC03_029/ov_SC03_029_jr_801380E0.c b/src/ov_SC03_029/ov_SC03_029_jr_801380E0.c index 622fdf54c8..1619c511cc 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_801380E0.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80187EE0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c b/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c index 9f8821ed35..a2dd226043 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_8017DC70.c @@ -2706,121 +2706,20 @@ extern void func_8017D9B4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017DC70(s32 arg0) { @@ -3059,7 +2958,7 @@ void func_8017DC70(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c b/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c index 8575ba8b8b..956b02151e 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c @@ -4115,52 +4115,10 @@ extern void func_80015978(s32 a0, s32 *a1); extern void func_80182050(u8 *a0, u8 *a1); extern void func_801820E4(u8 *arg0); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80181EA0(u8 *arg0) { @@ -5719,30 +5677,6 @@ extern u8 D_801C4830[]; extern u8 D_801C4838[]; extern u8 *func_80183F70(s32 a0, s32 a1, s32 a2); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80183E70(void *param_1) { @@ -6340,30 +6274,6 @@ extern u8 D_801C495C[]; /* named distinctly from this TU's own gte_SetRotMatrix/gte_SetTransMatrix * (defined later in the file for func_80185AE0) to avoid a redefinition. */ -#define SRM_80184958(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_80184958(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 func_80184958(void *a0) { @@ -6393,8 +6303,8 @@ s32 func_80184958(void *a0) p0 = base; for (i = 0; i < 4; i++) { - SRM_80184958(matrix); - STM_80184958(matrix); + gte_SetRotMatrix(matrix); + gte_SetTransMatrix(matrix); RotTransSV(p0, sv0, &flag); RotTransSV(p1, sv1, &flag); @@ -6638,30 +6548,6 @@ extern void func_8012B414(int a0); extern void func_8012C218(void *a0); typedef struct { s16 vx; u16 vy; s16 vz, pad; } SVec_8017F67C_80184FF0; typedef struct { u8 d[4]; } Blk4_8017CE90_8017F32C_80184FF0; -#define SRM_8018E8A0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define STM_8018E8A0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 vx, vy, vz, pad; } SVec8_8018E8A0_80184FF0; /* 0x08 */ typedef struct { s32 vx, vy, vz, pad; } Vec16_8018E8A0_80184FF0; /* 0x10 */ @@ -6761,8 +6647,8 @@ void func_80184FF0(void *a0) ((s32)(s16)*(u16 *)((s32)a0 + 0x70) / 2) * 0x20); dst = prim.v; - SRM_8018E8A0(&mtx); - STM_8018E8A0(&mtx); + gte_SetRotMatrix(&mtx); + gte_SetTransMatrix(&mtx); for (j = 0; j < 4; j++, src++, dst++) { RotTransSV(src, dst, &flag); @@ -7190,30 +7076,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80185AE0"); diff --git a/src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.c b/src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.c index 54dc1460eb..b1a0b6d8c3 100644 --- a/src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.c +++ b/src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801823F0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801823F4) : "memory"); + gte_stlvnl(D_801823F4); pc0 = D_801823F0; pc4 = D_801823F4; diff --git a/src/ov_SC03_030/ov_SC03_030_jr_801380E0.c b/src/ov_SC03_030/ov_SC03_030_jr_801380E0.c index eee9574c0e..1497ac2d7e 100644 --- a/src/ov_SC03_030/ov_SC03_030_jr_801380E0.c +++ b/src/ov_SC03_030/ov_SC03_030_jr_801380E0.c @@ -1012,22 +1012,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018251C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1048,7 +1034,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1125,12 +1111,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1144,12 +1126,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c b/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c index 8823db5147..a320a866d7 100644 --- a/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c +++ b/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.c @@ -3495,98 +3495,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C974; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C974; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C974; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C974(s32 arg0) { @@ -5168,49 +5087,7 @@ extern s32 func_8012AD50(void *a0); } -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) extern void (*D_80186464[])(void); extern u8 D_800AF648[]; @@ -5408,10 +5285,10 @@ void func_8017FB04(s32 s1) "nop;" "nop;" "rtps" - : : "r"(s2) : "memory"); + : : "r"(s2) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtps_m) beyond Sony's (P36 T5 gte1) a0 = (s32)&stack[0]; - __asm__ volatile("swc2 $14, 0(%0)" : : "r"(a0) : "memory"); + gte_stsxy(a0); v0 = (s32)&stack[2]; __asm__ volatile("cfc2 %0, $31; nop; sw %0, 0(%1)" @@ -5591,51 +5468,10 @@ void func_8017FCBC(void) { extern u8 D_800AF648[]; extern Blk8 D_80126CAC; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) typedef struct { s16 vx, vy, vz, pad; } SVec_80180054; @@ -6526,30 +6362,6 @@ extern u8 D_801869E0[]; extern u8 D_801869E8[]; /* gte_Set{Rot,Trans}Matrix — same macro form already used in this TU (ov_SC03_028 twin func_801808CC). */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 m[3][3]; s32 t[3]; } MTX_80181708; @@ -6621,18 +6433,15 @@ s32 func_80181824(s32 param_1, s32 param_2) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* column 0 */ __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"(mp) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(param_2) : "$12", "$13", "$14", "memory"); + : : "r"(mp) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv(param_2); /* column 1 */ c = (s32)&m1 + 2; @@ -6640,12 +6449,9 @@ s32 func_80181824(s32 param_1, s32 param_2) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = param_2 + 2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* column 2 */ c = (s32)&m1 + 4; @@ -6653,12 +6459,9 @@ s32 func_80181824(s32 param_1, s32 param_2) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = param_2 + 4; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* gte_SetTransMatrix(M) */ M = *(s32 *)(ent + 0x20) + 0x34; @@ -6666,7 +6469,7 @@ s32 func_80181824(s32 param_1, s32 param_2) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) /* gte_ldlv0(m1.t) ; gte_rt() ; gte_stlvnl(dst->t) */ c = (s32)&m1 + 0x14; @@ -6675,11 +6478,9 @@ s32 func_80181824(s32 param_1, s32 param_2) "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"); + : : "r"(c) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) c = param_2 + 0x14; - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"(c) : "memory"); + gte_stlvnl(c); return 1; } @@ -6762,52 +6563,6 @@ typedef struct { } LineF2_80181A60; /* PSY-Q GTE macros — same forms already used in this TU (func_80181708/func_80181824). */ -#define gte_SetRotTransMatrix_A60(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4;" \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0_A60(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps_A60() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy_A60(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_A60(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stszotz_A60(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) extern void *func_80010A08(s32); @@ -6831,18 +6586,18 @@ void func_80181A60(SVec_80181A60 *v) *(u32 *)&p->r0 = m24; p->code = 0x40; - gte_SetRotTransMatrix_A60(mx); - gte_ldv0_A60(v); - gte_rtps_A60(); - gte_stsxy_A60(&p->x0); - gte_stflg_A60(&flag); - gte_stszotz_A60(&otz); + gte_SetRotTransMatrix(mx); + gte_ldv0(v); + gte_rtps(); + gte_stsxy(&p->x0); + gte_stflg(&flag); + gte_stszotz(&otz); if ((flag & ~0x1000) == 0) { v++; - gte_ldv0_A60(v); - gte_rtps_A60(); - gte_stsxy_A60(&p->x1); - gte_stflg_A60(&flag); + gte_ldv0(v); + gte_rtps(); + gte_stsxy(&p->x1); + gte_stflg(&flag); if ((flag & ~0x1000) == 0) { mFF = 0xFF000000; ix = *(u16 *)&D_800B9A02; diff --git a/src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.c b/src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.c index 2757836785..611e3382b4 100644 --- a/src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.c +++ b/src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018290C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182910) : "memory"); + gte_stlvnl(D_80182910); pc0 = D_8018290C; pc4 = D_80182910; diff --git a/src/ov_SC03_031/ov_SC03_031_jr_801380E0.c b/src/ov_SC03_031/ov_SC03_031_jr_801380E0.c index 6955bef2f2..3e7d7970fe 100644 --- a/src/ov_SC03_031/ov_SC03_031_jr_801380E0.c +++ b/src/ov_SC03_031/ov_SC03_031_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80182A38[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c b/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c index 3c83973a76..b335fbe239 100644 --- a/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c +++ b/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.c @@ -2705,121 +2705,20 @@ extern void func_8017D8A0(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017DB5C(s32 arg0) { @@ -3058,7 +2957,7 @@ void func_8017DB5C(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -3768,7 +3667,7 @@ void func_8017F95C(s32 a0) { : : "r"(&mat) : "$12", "$13", "$14", "memory" - ); + ); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) __asm__ __volatile__( "lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" @@ -3778,18 +3677,8 @@ void func_8017F95C(s32 a0) { : : "r"(&D_8018618C) : "memory" - ); - __asm__ __volatile__( - "mfc2 $12, $9\n" - "mfc2 $13, $10\n" - "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" - "sh $13, 2(%0)\n" - "sh $14, 4(%0)\n" - : - : "r"(buf) - : "$12", "$13", "$14", "memory" - ); + ); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stsv(buf); *(u16 *)(a0 + 6) += buf[0]; *(u16 *)(a0 + 0xA) += buf[1]; @@ -5531,30 +5420,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80182224"); diff --git a/src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.c b/src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.c index 3bc2c4d565..1bfca5032b 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80189C08) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80189C0C) : "memory"); + gte_stlvnl(D_80189C0C); pc0 = D_80189C08; pc4 = D_80189C0C; diff --git a/src/ov_SC03_089/ov_SC03_089_jr_801380E0.c b/src/ov_SC03_089/ov_SC03_089_jr_801380E0.c index cc02d665fa..667253e826 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_801380E0.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80189D34[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c b/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c index 7847b8617f..7d9a26564d 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c @@ -2689,73 +2689,14 @@ extern void func_8017C7C4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2765,45 +2706,10 @@ extern void func_8017C7C4(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017CA80__t67f11bf2.h" @@ -2926,97 +2832,17 @@ extern void func_8017C7C4(void *a0); * func_8017CD9C @ ov_SC03_102 (D_801B9B00 / D_801B9B1C / D_801B9B38) * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- the two gouraud-textured packet layouts this function emits ---------- */ /* 0x28 */ @@ -4726,54 +4552,6 @@ void func_80182B94(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80182D28(void *a0) { @@ -6455,19 +6233,16 @@ void func_801851A8(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* column 0 */ __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"(mp) : "$12", "$13", "$14", "memory"); + : : "r"(mp) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) dp = (s32)&m2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(dp) : "$12", "$13", "$14", "memory"); + gte_stclmv(dp); /* column 1 */ c = (s32)&m1 + 2; @@ -6475,12 +6250,9 @@ void func_801851A8(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* column 2 */ c = (s32)&m1 + 4; @@ -6488,12 +6260,9 @@ void func_801851A8(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 4; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* gte_SetTransMatrix(M) */ M = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x34; @@ -6501,7 +6270,7 @@ void func_801851A8(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) /* gte_ldlv0(m1.t) ; gte_rt() ; gte_stlvnl(m2.t) */ c = (s32)&m1 + 0x14; @@ -6510,11 +6279,9 @@ void func_801851A8(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 0x14; - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"(c) : "memory"); + gte_stlvnl(c); ((void (*)(s32, s32, s32))func_8012F14C)(dp, (s32)&D_801A3BB0, (s32)&out); diff --git a/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c b/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c index 4e71df0294..2d457863c8 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_80185E50.c @@ -4908,55 +4908,12 @@ void func_801887E8(void *a0, void *a1) s32 i; u16 w; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) ot = (u32 *)&D_800A6610[(*(u16 *)&D_800B9A02) << 14]; s = *(Src_801887E8 **)((s32)a0 + 0x20); diff --git a/src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.c b/src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.c index b3b1352c42..52bb7e59c8 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018C02C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018C030) : "memory"); + gte_stlvnl(D_8018C030); pc0 = D_8018C02C; pc4 = D_8018C030; diff --git a/src/ov_SC03_090/ov_SC03_090_jr_801380E0.c b/src/ov_SC03_090/ov_SC03_090_jr_801380E0.c index b6acae9b38..fb9339e98a 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_801380E0.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018C158[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c b/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c index 14d3e5bb5d..0095d41677 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c @@ -2686,73 +2686,14 @@ extern void func_8017C7C4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2762,45 +2703,10 @@ extern void func_8017C7C4(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017CA80__t67f11bf2.h" @@ -2923,97 +2829,17 @@ extern void func_8017C7C4(void *a0); * func_8017CD9C @ ov_SC03_102 (D_801B9B00 / D_801B9B1C / D_801B9B38) * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- the two gouraud-textured packet layouts this function emits ---------- */ /* 0x28 */ @@ -4689,54 +4515,6 @@ void func_80182870(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80182A04(void *a0) { @@ -6369,54 +6147,6 @@ s32 arg0; } -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* func_80184E84 @ ov_SC03_089 (subseg ov_SC03_089_jr_8017CA80) — 173 ins. * @@ -6482,19 +6212,16 @@ void func_80184E84(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* column 0 */ __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"(mp) : "$12", "$13", "$14", "memory"); + : : "r"(mp) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) dp = (s32)&m2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(dp) : "$12", "$13", "$14", "memory"); + gte_stclmv(dp); /* column 1 */ c = (s32)&m1 + 2; @@ -6502,12 +6229,9 @@ void func_80184E84(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* column 2 */ c = (s32)&m1 + 4; @@ -6515,12 +6239,9 @@ void func_80184E84(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 4; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* gte_SetTransMatrix(M) */ M = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x34; @@ -6528,7 +6249,7 @@ void func_80184E84(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) /* gte_ldlv0(m1.t) ; gte_rt() ; gte_stlvnl(m2.t) */ c = (s32)&m1 + 0x14; @@ -6537,11 +6258,9 @@ void func_80184E84(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 0x14; - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"(c) : "memory"); + gte_stlvnl(c); ((void (*)(s32, s32, s32))func_8012F14C)(dp, (s32)&D_801A3058, (s32)&out); diff --git a/src/ov_SC03_090/ov_SC03_090_jr_80188274.c b/src/ov_SC03_090/ov_SC03_090_jr_80188274.c index 198ab44643..5965eb6391 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_80188274.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_80188274.c @@ -4936,55 +4936,12 @@ extern void func_8018B028(void *a0, void *a1, u32 *a2, u32 *a3); extern u8 D_800A6610[]; extern short D_800B9A02; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8018AC0C(void *a0, void *a1) { diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.c b/src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.c index 719491a3d2..bad449cb40 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018CED4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018CED8) : "memory"); + gte_stlvnl(D_8018CED8); pc0 = D_8018CED4; pc4 = D_8018CED8; diff --git a/src/ov_SC03_091/ov_SC03_091_jr_801380E0.c b/src/ov_SC03_091/ov_SC03_091_jr_801380E0.c index 8278ef3a5c..0aa4e9fb74 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_801380E0.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018D000[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8017D898.c b/src/ov_SC03_091/ov_SC03_091_jr_8017D898.c index 45ec1d1e2f..f6d63ea69c 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8017D898.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8017D898.c @@ -2706,73 +2706,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2782,45 +2723,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" @@ -2943,97 +2849,17 @@ extern void func_8017D5DC(void *a0); * func_8017CD9C @ ov_SC03_102 (D_801B9B00 / D_801B9B1C / D_801B9B38) * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- the two gouraud-textured packet layouts this function emits ---------- */ /* 0x28 */ diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c b/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c index 67e81fb9ee..7d27cd2ead 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c @@ -2849,54 +2849,6 @@ void func_80183718(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801838AC(void *a0) { @@ -4527,54 +4479,6 @@ extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); } -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* func_80185D2C @ ov_SC03_089 (subseg ov_SC03_089_jr_8017CA80) — 173 ins. * @@ -4640,19 +4544,16 @@ void func_80185D2C(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* column 0 */ __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"(mp) : "$12", "$13", "$14", "memory"); + : : "r"(mp) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) dp = (s32)&m2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(dp) : "$12", "$13", "$14", "memory"); + gte_stclmv(dp); /* column 1 */ c = (s32)&m1 + 2; @@ -4660,12 +4561,9 @@ void func_80185D2C(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* column 2 */ c = (s32)&m1 + 4; @@ -4673,12 +4571,9 @@ void func_80185D2C(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 4; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* gte_SetTransMatrix(M) */ M = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x34; @@ -4686,7 +4581,7 @@ void func_80185D2C(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) /* gte_ldlv0(m1.t) ; gte_rt() ; gte_stlvnl(m2.t) */ c = (s32)&m1 + 0x14; @@ -4695,11 +4590,9 @@ void func_80185D2C(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 0x14; - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"(c) : "memory"); + gte_stlvnl(c); ((void (*)(s32, s32, s32))func_8012F14C)(dp, (s32)&D_801A6084, (s32)&out); diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c b/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c index 524a98e50a..5f9b8e32ca 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8018911C.c @@ -4900,55 +4900,12 @@ void func_8018BAB4(void *a0, void *a1) s32 i; u16 w; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) ot = (u32 *)&D_800A6610[(*(u16 *)&D_800B9A02) << 14]; s = *(Src_8018BAB4 **)((s32)a0 + 0x20); diff --git a/src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.c b/src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.c index d1c878d5b9..fbc82801ec 100644 --- a/src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.c +++ b/src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801852A4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801852A8) : "memory"); + gte_stlvnl(D_801852A8); pc0 = D_801852A4; pc4 = D_801852A8; diff --git a/src/ov_SC03_092/ov_SC03_092_jr_801380E0.c b/src/ov_SC03_092/ov_SC03_092_jr_801380E0.c index 13dd66fca1..a4f0ff0a08 100644 --- a/src/ov_SC03_092/ov_SC03_092_jr_801380E0.c +++ b/src/ov_SC03_092/ov_SC03_092_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801853D0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c b/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c index 24b8dfa551..a214cff447 100644 --- a/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c +++ b/src/ov_SC03_092/ov_SC03_092_jr_8017AE2C.c @@ -152,106 +152,18 @@ extern u8 *D_800A5E60; extern u8 D_800A6610[]; extern short D_800B9A02; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* The proven family shape (src/ov_SC03_010/ov_SC03_010_jr_8017C730.c, MATCH): * the ReadRotMatrix/PushMatrix/transpose/ApplyMatrixSV/PopMatrix block is a @@ -4126,7 +4038,7 @@ void func_8017CE58(s32 arg0) if (code < 8) { if (code > 5) { /* ---- code 6,7 -- FT3 (tri) ---- */ - gte_stsxy3_g3(pkt); + gte_stsxy3_ft3(pkt); gte_stsz3(&gsz0, &gsz1, &gsz2); if (((PolyFT3 *)pkt)->x0 > ((PolyFT3 *)pkt)->x1) { mx = ((PolyFT3 *)pkt)->x0; diff --git a/src/ov_SC03_092/ov_SC03_092_jr_80181694.c b/src/ov_SC03_092/ov_SC03_092_jr_80181694.c index f45c1174b2..1ff1e594db 100644 --- a/src/ov_SC03_092/ov_SC03_092_jr_80181694.c +++ b/src/ov_SC03_092/ov_SC03_092_jr_80181694.c @@ -2955,54 +2955,6 @@ void func_80181B40(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80181CD4(void *a0) { @@ -4134,30 +4086,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_801837D4"); @@ -4365,54 +4293,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §71 sibling: identical shape to func_8018F390 (same TU, this file, D_80126B78/RotTransSV/ * func_80135888/func_8012BDBC/func_80178BF8/func_80172710 idiom) already MATCHED -- only the @@ -4759,55 +4639,12 @@ void func_80184324(s32 param) { * up to 80) — the OT indices are written as buf[13 + (i >> 1)]. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80184370(void *a0, void *a1) { diff --git a/src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.c b/src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.c index 60f21faa5f..0d45b4d7ba 100644 --- a/src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.c +++ b/src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018647C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186480) : "memory"); + gte_stlvnl(D_80186480); pc0 = D_8018647C; pc4 = D_80186480; diff --git a/src/ov_SC03_093/ov_SC03_093_jr_801380E0.c b/src/ov_SC03_093/ov_SC03_093_jr_801380E0.c index ae921617c4..ece7bfdb9a 100644 --- a/src/ov_SC03_093/ov_SC03_093_jr_801380E0.c +++ b/src/ov_SC03_093/ov_SC03_093_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801865A8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c b/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c index 220ec57a59..757f20d2fd 100644 --- a/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c +++ b/src/ov_SC03_093/ov_SC03_093_jr_8017D898.c @@ -2689,73 +2689,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2765,45 +2706,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" @@ -3981,54 +3887,6 @@ void func_80180320(void *a0) { extern void func_8012C218(void); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801804B4(void *a0) { diff --git a/src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.c b/src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.c index d6fb49ed1a..8f1232bb63 100644 --- a/src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.c +++ b/src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80187E78) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80187E7C) : "memory"); + gte_stlvnl(D_80187E7C); pc0 = D_80187E78; pc4 = D_80187E7C; diff --git a/src/ov_SC03_094/ov_SC03_094_jr_801380E0.c b/src/ov_SC03_094/ov_SC03_094_jr_801380E0.c index 34c784da74..855a014421 100644 --- a/src/ov_SC03_094/ov_SC03_094_jr_801380E0.c +++ b/src/ov_SC03_094/ov_SC03_094_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80187FA4[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c b/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c index b5caa4982e..13d62c424b 100644 --- a/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c +++ b/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c @@ -2677,73 +2677,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2753,45 +2694,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -4399,54 +4305,6 @@ void func_8017F568(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017F6FC(void *a0) { diff --git a/src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.c b/src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.c index db8424695c..c95b6a4cc5 100644 --- a/src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.c +++ b/src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801814D8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801814DC) : "memory"); + gte_stlvnl(D_801814DC); pc0 = D_801814D8; pc4 = D_801814DC; diff --git a/src/ov_SC03_095/ov_SC03_095_jr_801380E0.c b/src/ov_SC03_095/ov_SC03_095_jr_801380E0.c index 9a138659b6..92a5a2896e 100644 --- a/src/ov_SC03_095/ov_SC03_095_jr_801380E0.c +++ b/src/ov_SC03_095/ov_SC03_095_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80181604[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.c b/src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.c index 05865a1bda..0c7bb26979 100644 --- a/src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.c +++ b/src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.c @@ -2680,73 +2680,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2756,45 +2697,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3941,54 +3847,6 @@ void func_8017E8E8(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017EA7C(void *a0) { diff --git a/src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.c b/src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.c index 1d43ea715d..79dcec4351 100644 --- a/src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.c +++ b/src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80181058) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018105C) : "memory"); + gte_stlvnl(D_8018105C); pc0 = D_80181058; pc4 = D_8018105C; diff --git a/src/ov_SC03_096/ov_SC03_096_jr_801380E0.c b/src/ov_SC03_096/ov_SC03_096_jr_801380E0.c index 287af4e089..b59cd96f0f 100644 --- a/src/ov_SC03_096/ov_SC03_096_jr_801380E0.c +++ b/src/ov_SC03_096/ov_SC03_096_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80181184[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.c b/src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.c index 0ff44c0675..469aae4679 100644 --- a/src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.c +++ b/src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.c @@ -2680,73 +2680,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2756,45 +2697,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3372,54 +3278,6 @@ void func_8017DCEC(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017DE80(void *a0) { diff --git a/src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.c b/src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.c index 2d9148c891..30e0c2217c 100644 --- a/src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.c +++ b/src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80186438) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018643C) : "memory"); + gte_stlvnl(D_8018643C); pc0 = D_80186438; pc4 = D_8018643C; diff --git a/src/ov_SC03_097/ov_SC03_097_jr_801380E0.c b/src/ov_SC03_097/ov_SC03_097_jr_801380E0.c index 43e68609b5..dea94d08e6 100644 --- a/src/ov_SC03_097/ov_SC03_097_jr_801380E0.c +++ b/src/ov_SC03_097/ov_SC03_097_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80186564[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c b/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c index 3e8d953ad0..c85b9ca7bb 100644 --- a/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c +++ b/src/ov_SC03_097/ov_SC03_097_jr_8017D898.c @@ -2688,73 +2688,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2764,45 +2705,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" @@ -4760,55 +4666,12 @@ void func_80180F4C(s32 param) { * go through RTPT three-at-a-time and func_801813B4 gets the single slot &ot[z]. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80180F98(void *a0, void *a1) { diff --git a/src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.c b/src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.c index 54d59643bc..583caca992 100644 --- a/src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.c +++ b/src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801858C4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801858C8) : "memory"); + gte_stlvnl(D_801858C8); pc0 = D_801858C4; pc4 = D_801858C8; diff --git a/src/ov_SC03_098/ov_SC03_098_jr_801380E0.c b/src/ov_SC03_098/ov_SC03_098_jr_801380E0.c index 07c3719a1d..11dec4a289 100644 --- a/src/ov_SC03_098/ov_SC03_098_jr_801380E0.c +++ b/src/ov_SC03_098/ov_SC03_098_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801859F0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c b/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c index 2cde7e74c8..304aec713e 100644 --- a/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c +++ b/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c @@ -2690,73 +2690,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2766,45 +2707,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" @@ -3685,54 +3591,6 @@ void func_8017FD70(void *a0) { extern void func_8012C218(void); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017FF04(void *a0) { diff --git a/src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c b/src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c index 63330012aa..554b26847f 100644 --- a/src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c +++ b/src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801839C4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801839C8) : "memory"); + gte_stlvnl(D_801839C8); pc0 = D_801839C4; pc4 = D_801839C8; diff --git a/src/ov_SC03_099/ov_SC03_099_jr_801380E0.c b/src/ov_SC03_099/ov_SC03_099_jr_801380E0.c index 64bfefb535..52ba074808 100644 --- a/src/ov_SC03_099/ov_SC03_099_jr_801380E0.c +++ b/src/ov_SC03_099/ov_SC03_099_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80183AF0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c b/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c index 1bc121e9ea..7badd87e99 100644 --- a/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c +++ b/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c @@ -2682,73 +2682,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2758,45 +2699,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3505,54 +3411,6 @@ void func_8017DFD4(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017E168(void *a0) { diff --git a/src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.c b/src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.c index 48b160c4a2..c61cb86c1a 100644 --- a/src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.c +++ b/src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184E90) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184E94) : "memory"); + gte_stlvnl(D_80184E94); pc0 = D_80184E90; pc4 = D_80184E94; diff --git a/src/ov_SC03_100/ov_SC03_100_jr_801380E0.c b/src/ov_SC03_100/ov_SC03_100_jr_801380E0.c index 1b985fa28b..57a924cabe 100644 --- a/src/ov_SC03_100/ov_SC03_100_jr_801380E0.c +++ b/src/ov_SC03_100/ov_SC03_100_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184FBC[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c b/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c index 4fdc8205af..8bbca5f86d 100644 --- a/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c +++ b/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c @@ -2690,73 +2690,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2766,45 +2707,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" @@ -3526,54 +3432,6 @@ void func_8017FA00(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017FB94(void *a0) { diff --git a/src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.c b/src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.c index f2a45dd11b..0ae62dd4c1 100644 --- a/src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.c +++ b/src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80183E6C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80183E70) : "memory"); + gte_stlvnl(D_80183E70); pc0 = D_80183E6C; pc4 = D_80183E70; diff --git a/src/ov_SC03_101/ov_SC03_101_jr_801380E0.c b/src/ov_SC03_101/ov_SC03_101_jr_801380E0.c index d62c823189..a1f6dfd818 100644 --- a/src/ov_SC03_101/ov_SC03_101_jr_801380E0.c +++ b/src/ov_SC03_101/ov_SC03_101_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80183F98[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c b/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c index 99794a8800..e781e85221 100644 --- a/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c +++ b/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c @@ -2690,73 +2690,14 @@ extern void func_8017C7C4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2766,45 +2707,10 @@ extern void func_8017C7C4(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017CA80__t67f11bf2.h" @@ -3620,54 +3526,6 @@ void func_8017EDE4(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017EF78(void *a0) { @@ -5342,92 +5200,6 @@ void func_801814AC(s32 param) { -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_801814F8(void *a0, void *a1) { diff --git a/src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.c b/src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.c index 9612f3c0c2..4fb12c0274 100644 --- a/src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.c +++ b/src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80186724) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186728) : "memory"); + gte_stlvnl(D_80186728); pc0 = D_80186724; pc4 = D_80186728; diff --git a/src/ov_SC03_102/ov_SC03_102_jr_801380E0.c b/src/ov_SC03_102/ov_SC03_102_jr_801380E0.c index 27a42fe550..a2f90e32fe 100644 --- a/src/ov_SC03_102/ov_SC03_102_jr_801380E0.c +++ b/src/ov_SC03_102/ov_SC03_102_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80186850[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c b/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c index bacffffda7..5c6675080a 100644 --- a/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c +++ b/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c @@ -2683,121 +2683,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3036,7 +2935,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -3276,97 +3175,17 @@ void func_8017BEBC(s32 arg0) * func_8017CD9C @ ov_SC03_102 (D_801B9B00 / D_801B9B1C / D_801B9B38) * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- the two gouraud-textured packet layouts this function emits ---------- */ /* 0x28 */ @@ -4334,30 +4153,6 @@ extern s32 func_8014A454(s32 a0); extern void func_8012F038(int param_1, short *param_2, short *param_3); extern void func_801292C8(u8 *a0); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80180C38(void *a0) { @@ -5118,54 +4913,6 @@ void func_80181FD0(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80182164(void *a0) { diff --git a/src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.c b/src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.c index 9fa09fb18b..2dfe0ddaea 100644 --- a/src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.c +++ b/src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801846D4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801846D8) : "memory"); + gte_stlvnl(D_801846D8); pc0 = D_801846D4; pc4 = D_801846D8; diff --git a/src/ov_SC03_103/ov_SC03_103_jr_801380E0.c b/src/ov_SC03_103/ov_SC03_103_jr_801380E0.c index 85d7bf1ddf..0218d37abd 100644 --- a/src/ov_SC03_103/ov_SC03_103_jr_801380E0.c +++ b/src/ov_SC03_103/ov_SC03_103_jr_801380E0.c @@ -1012,22 +1012,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184800[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1048,7 +1034,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1125,12 +1111,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1144,12 +1126,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c b/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c index 3bc80dc668..fc79ffcec1 100644 --- a/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c +++ b/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c @@ -2692,73 +2692,14 @@ extern void func_8017C230(int a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017C230(int a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C294__t67f11bf2.h" @@ -2868,94 +2774,17 @@ extern void func_8017C230(int a0); #endif -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D174(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { @@ -4025,54 +3854,6 @@ void func_8017F240(void *a0) { extern void func_8012C218(void *a0); extern s32 func_80143B6C(s32 a0, s32 a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_8017F3D4(void *a0) { diff --git a/src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.c b/src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.c index 49ba3f1642..7bf7e5f465 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018B264) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018B268) : "memory"); + gte_stlvnl(D_8018B268); pc0 = D_8018B264; pc4 = D_8018B268; diff --git a/src/ov_SC03_104/ov_SC03_104_jr_801380E0.c b/src/ov_SC03_104/ov_SC03_104_jr_801380E0.c index f401832280..00f3c5bbff 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_801380E0.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018B390[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c b/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c index e3fdcf8281..6ddc54dd51 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_8017CA80.c @@ -2697,73 +2697,14 @@ extern void func_8017C7C4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2773,45 +2714,10 @@ extern void func_8017C7C4(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017CA80__t67f11bf2.h" @@ -2934,97 +2840,17 @@ extern void func_8017C7C4(void *a0); * func_8017CD9C @ ov_SC03_102 (D_801B9B00 / D_801B9B1C / D_801B9B38) * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- the two gouraud-textured packet layouts this function emits ---------- */ /* 0x28 */ diff --git a/src/ov_SC03_104/ov_SC03_104_jr_80182038.c b/src/ov_SC03_104/ov_SC03_104_jr_80182038.c index 0ec0c48cf3..8a9a0f083b 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_80182038.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_80182038.c @@ -3364,54 +3364,6 @@ s32 arg0; } -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* func_80182D18 @ ov_SC03_089 (subseg ov_SC03_089_jr_8017CA80) — 173 ins. * @@ -3477,19 +3429,16 @@ void func_80182D18(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* column 0 */ __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"(mp) : "$12", "$13", "$14", "memory"); + : : "r"(mp) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) dp = (s32)&m2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(dp) : "$12", "$13", "$14", "memory"); + gte_stclmv(dp); /* column 1 */ c = (s32)&m1 + 2; @@ -3497,12 +3446,9 @@ void func_80182D18(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 2; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* column 2 */ c = (s32)&m1 + 4; @@ -3510,12 +3456,9 @@ void func_80182D18(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 4; - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + gte_stclmv(c); /* gte_SetTransMatrix(M) */ M = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x34; @@ -3523,7 +3466,7 @@ void func_80182D18(s32 param_1) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) /* gte_ldlv0(m1.t) ; gte_rt() ; gte_stlvnl(m2.t) */ c = (s32)&m1 + 0x14; @@ -3532,11 +3475,9 @@ void func_80182D18(s32 param_1) "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"); + : : "r"(c) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) c = (s32)&m2 + 0x14; - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"(c) : "memory"); + gte_stlvnl(c); ((void (*)(s32, s32, s32))func_8012F14C)(dp, (s32)&D_80199F20, (s32)&out); @@ -4767,92 +4708,6 @@ void func_801848E8(s32 param) { -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80184934(void *a0, void *a1) { diff --git a/src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.c b/src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.c index ccc9bd3dab..37a952657e 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018A8EC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018A8F0) : "memory"); + gte_stlvnl(D_8018A8F0); pc0 = D_8018A8EC; pc4 = D_8018A8F0; diff --git a/src/ov_SC03_105/ov_SC03_105_jr_801380E0.c b/src/ov_SC03_105/ov_SC03_105_jr_801380E0.c index 19b05e72e3..46394f283a 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_801380E0.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018AA18[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c b/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c index 2b69aa0f81..1563ccbe96 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_8017C8D0.c @@ -2699,73 +2699,14 @@ extern void func_8017C114(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2775,45 +2716,10 @@ extern void func_8017C114(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C8D0__t67f11bf2.h" diff --git a/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c b/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c index 2e5d4952dd..55c308d4bb 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_80181C84.c @@ -4203,30 +4203,6 @@ extern void func_80020F34(s32 a0, s32 a1); extern void RotTransSV(void *a0, void *a1, void *a2); extern void func_80016EF8(void *a0, void *a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80183F84(void *a0, void *a1) { Prim_80183F84 prim; @@ -5373,137 +5349,23 @@ extern u8 D_801BA6B0; extern void func_80185FB4(s32 a0, s32 a1, s32 a2); extern void func_8001F730(s32 a0, void *a1, void *a2); -#define gte_SetRotMatrix_85810(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_85810(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldclmv_85810(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtir_85810() __asm__ volatile ("nop;nop;mvmva 1, 0, 3, 3, 0") -#define gte_stclmv_85810(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) -#define gte_ldlvl_85810(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rt_85810() __asm__ volatile ("nop;nop;mvmva 1, 0, 0, 0, 0") -#define gte_stlvnl_85810(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv0_85810(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps_85810() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy_85810(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz_85810(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv3_85810(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt_85810() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy0_85810(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy1_85810(r0) __asm__ volatile ( \ - "swc2 $13, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_85810(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stszotz_85810(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80185810(s32 a0) { @@ -5545,50 +5407,50 @@ void func_80185810(s32 a0) if (*(s32 *)(a0 + 0x20) != 0) { if (flags & 0x800000) { - gte_SetRotMatrix_85810(base + 0x18); - gte_ldclmv_85810((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x34)); - gte_rtir_85810(); - gte_stclmv_85810(&m.m[0][0]); - gte_ldclmv_85810((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x36)); - gte_rtir_85810(); - gte_stclmv_85810(&m.m[0][1]); - gte_ldclmv_85810((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x38)); - gte_rtir_85810(); - gte_stclmv_85810(&m.m[0][2]); - gte_SetTransMatrix_85810(base + 0x18); - gte_ldlvl_85810((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x48)); - gte_rt_85810(); - gte_stlvnl_85810(&m.t[0]); + gte_SetRotMatrix(base + 0x18); + gte_ldclmv((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x34)); + gte_rtir(); + gte_stclmv(&m.m[0][0]); + gte_ldclmv((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x36)); + gte_rtir(); + gte_stclmv(&m.m[0][1]); + gte_ldclmv((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x38)); + gte_rtir(); + gte_stclmv(&m.m[0][2]); + gte_SetTransMatrix(base + 0x18); + gte_ldlv0((u8 *)(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x48)); + gte_rtv0tr(); + gte_stlvnl(&m.t[0]); } else { func_80185FB4(*(s32 *)(*(s32 *)(a0 + 0x20) + 0x20), flags, (s32)&m); - gte_SetRotMatrix_85810(base + 0x18); - gte_ldclmv_85810(&m.m[0][0]); - gte_rtir_85810(); - gte_stclmv_85810(&m.m[0][0]); - gte_ldclmv_85810(&m.m[0][1]); - gte_rtir_85810(); - gte_stclmv_85810(&m.m[0][1]); - gte_ldclmv_85810(&m.m[0][2]); - gte_rtir_85810(); - gte_stclmv_85810(&m.m[0][2]); - gte_SetTransMatrix_85810(base + 0x18); - gte_ldlvl_85810(&m.t[0]); - gte_rt_85810(); - gte_stlvnl_85810(&m.t[0]); + gte_SetRotMatrix(base + 0x18); + gte_ldclmv(&m.m[0][0]); + gte_rtir(); + gte_stclmv(&m.m[0][0]); + gte_ldclmv(&m.m[0][1]); + gte_rtir(); + gte_stclmv(&m.m[0][1]); + gte_ldclmv(&m.m[0][2]); + gte_rtir(); + gte_stclmv(&m.m[0][2]); + gte_SetTransMatrix(base + 0x18); + gte_ldlv0(&m.t[0]); + gte_rtv0tr(); + gte_stlvnl(&m.t[0]); } - gte_SetRotMatrix_85810(&m); - gte_SetTransMatrix_85810(&m); + gte_SetRotMatrix(&m); + gte_SetTransMatrix(&m); t0 = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) + 0x10; } else { - gte_SetRotMatrix_85810(base + 0x18); - gte_SetTransMatrix_85810(base + 0x18); + gte_SetRotMatrix(base + 0x18); + gte_SetTransMatrix(base + 0x18); t0 = a0 + 4; } - gte_ldv0_85810((u8 *)(a0 + 0x14)); - gte_rtps_85810(); - gte_stsxy_85810(&v[0]); - gte_stsz_85810(&sz); + gte_ldv0((u8 *)(a0 + 0x14)); + gte_rtps(); + gte_stsxy(&v[0]); + gte_stsz(&sz); sx = *(s16 *)&v[0].vx; if (sx < 0) sx = -sx; @@ -5599,8 +5461,8 @@ void func_80185810(s32 a0) *(u16 *)&D_801BC9B4 = *(u16 *)(a0 + 0xC); *(u16 *)((u8 *)&D_801BC9B4 + 8) = *(u16 *)(a0 + 0xE); - gte_SetRotMatrix_85810(&D_801BC9B4); - gte_SetTransMatrix_85810(&D_801BC9B4); + gte_SetRotMatrix(&D_801BC9B4); + gte_SetTransMatrix(&D_801BC9B4); v[3].vx = *(u16 *)(spr + 8) + *(u16 *)(a0 + 0x1C); v[3].vy = *(u16 *)(spr + 0xA) + *(u16 *)(a0 + 0x1E); @@ -5609,12 +5471,12 @@ void func_80185810(s32 a0) v[4].vy = *(u8 *)(spr + 3); v[4].vz = sz; - gte_ldv3_85810(&v[3], &v[4], &v[4]); - gte_rtpt_85810(); - gte_stsxy0_85810(&v[1]); - gte_stsxy1_85810(&v[2]); - gte_stflg_85810(&flag); - gte_stszotz_85810(&otz); + gte_ldv3(&v[3], &v[4], &v[4]); + gte_rtpt(); + gte_stsxy0(&v[1]); + gte_stsxy1(&v[2]); + gte_stflg(&flag); + gte_stszotz(&otz); if (flag & ~0x1000) return; /* ---- the packet-fill window: the cousin's spelling (func_80180B3C) ---- */ diff --git a/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c b/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c index 6ce54df2ed..2ffa7ef963 100644 --- a/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c +++ b/src/ov_SC03_105/ov_SC03_105_jr_80186DDC.c @@ -3489,79 +3489,14 @@ void func_80187928(void *a0) { #include "common.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) typedef struct { s16 vx; u16 vy; s16 vz; s16 pad; } SV_80187A30; @@ -3788,62 +3723,12 @@ void func_8018807C(s32 a0) { /* ---- PsyQ inline_c.h GTE macro bodies, verbatim (same spelling as the TU's * func_8017BEBC block / ov_SC03_099_jr_8012ACE0.c). ------------------ */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* Layout-identical to the TU's shared MATRIX / SVECTOR (src/shared/engine_types.h: * typedef struct { short m[3][3]; long t[3]; } MATRIX; -- 0x20 diff --git a/src/ov_SC03_107/ov_SC03_107.c b/src/ov_SC03_107/ov_SC03_107.c index 76d780b2dc..b943a8e9a0 100644 --- a/src/ov_SC03_107/ov_SC03_107.c +++ b/src/ov_SC03_107/ov_SC03_107.c @@ -1536,130 +1536,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) #include "../shared/ov/func_8012E778.h" @@ -1733,114 +1609,6 @@ void func_8012E9C0(int param_1) typedef struct { s8 c[8]; } Blk8_8012EFB8; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in diff --git a/src/ov_SC03_107/ov_SC03_107_jr_80131340.c b/src/ov_SC03_107/ov_SC03_107_jr_80131340.c index a18672e65f..704c8baf77 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_80131340.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_80131340.c @@ -1341,116 +1341,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -1795,11 +1685,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182A4C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182A50) : "memory"); + gte_stlvnl(D_80182A50); pc0 = D_80182A4C; pc4 = D_80182A50; diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801380E0.c b/src/ov_SC03_107/ov_SC03_107_jr_801380E0.c index 6d22b57069..4065c6b4fa 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801380E0.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801380E0.c @@ -1058,20 +1058,6 @@ extern void func_8013AA24(s32 a0, s32 a1); #include "../shared/ov/func_8013AB54.h" -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1095,7 +1081,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair *)out2)[i].x = res[0]; ((Pair *)out2)[i].y = res[1]; @@ -1174,12 +1160,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1193,12 +1175,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c index 3d54816530..82dc390728 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c @@ -5764,106 +5764,18 @@ extern s32 D_800A5E60; extern u8 D_800A6610[]; extern u16 aD800B9A02 __asm__("D_800B9A02"); -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -8237,66 +8149,6 @@ extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_8017F6E8(s32 a0) { @@ -8366,8 +8218,8 @@ void func_8017F6E8(s32 a0) (func_8004787C(*(s16 *)(a0 + 0x108)) >> 6); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -8401,8 +8253,8 @@ void func_8017F6E8(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + (d << 4); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -8438,8 +8290,8 @@ void func_8017F6E8(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + 0xC00; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -8709,66 +8561,6 @@ extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_801801E4(s32 a0) { @@ -8823,8 +8615,8 @@ void func_801801E4(s32 a0) *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_80047948(ang2) >> 3; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; diff --git a/src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.c b/src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.c index fc347187b1..3b7f8d6590 100644 --- a/src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.c +++ b/src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80181244) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80181248) : "memory"); + gte_stlvnl(D_80181248); pc0 = D_80181244; pc4 = D_80181248; diff --git a/src/ov_SC03_108/ov_SC03_108_jr_801380E0.c b/src/ov_SC03_108/ov_SC03_108_jr_801380E0.c index b1047ed1aa..97b0518269 100644 --- a/src/ov_SC03_108/ov_SC03_108_jr_801380E0.c +++ b/src/ov_SC03_108/ov_SC03_108_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80181370[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c b/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c index f516d2af0e..4a751b63ac 100644 --- a/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c +++ b/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.c @@ -2694,73 +2694,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2770,45 +2711,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3293,55 +3199,11 @@ extern s32 D_80126B64; extern u8 D_801A04F0[]; extern s16 D_801847B8; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ("nop;nop;.word 0x4A480012") -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8017DB0C(s32 a0) { diff --git a/src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.c b/src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.c index 67848c01b5..d03b635cb1 100644 --- a/src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.c +++ b/src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E8F0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E8F4) : "memory"); + gte_stlvnl(D_8017E8F4); pc0 = D_8017E8F0; pc4 = D_8017E8F4; diff --git a/src/ov_SC03_109/ov_SC03_109_jr_801380E0.c b/src/ov_SC03_109/ov_SC03_109_jr_801380E0.c index 207482835c..a503073f28 100644 --- a/src/ov_SC03_109/ov_SC03_109_jr_801380E0.c +++ b/src/ov_SC03_109/ov_SC03_109_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017EA1C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c b/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c index 4b2b60f3d7..fa9a5d9c5f 100644 --- a/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c +++ b/src/ov_SC03_109/ov_SC03_109_jr_8017C180.c @@ -2687,73 +2687,14 @@ extern void func_8017C0E4(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2763,45 +2704,10 @@ extern void func_8017C0E4(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C180__t67f11bf2.h" @@ -3604,54 +3510,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §71 sibling: identical shape to func_8018F390 (same TU, this file, D_80126B78/RotTransSV/ * func_80135888/func_8012BDBC/func_80178BF8/func_80172710 idiom) already MATCHED -- only the diff --git a/src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.c b/src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.c index 835170e74d..0399395117 100644 --- a/src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.c +++ b/src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182310) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182314) : "memory"); + gte_stlvnl(D_80182314); pc0 = D_80182310; pc4 = D_80182314; diff --git a/src/ov_SC03_110/ov_SC03_110_jr_801380E0.c b/src/ov_SC03_110/ov_SC03_110_jr_801380E0.c index 639c7015c8..e9ecaa0336 100644 --- a/src/ov_SC03_110/ov_SC03_110_jr_801380E0.c +++ b/src/ov_SC03_110/ov_SC03_110_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018243C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c b/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c index b839fc7e6b..040f6f2174 100644 --- a/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c +++ b/src/ov_SC03_110/ov_SC03_110_jr_8017D898.c @@ -2695,73 +2695,14 @@ extern void func_8017D5DC(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2771,45 +2712,10 @@ extern void func_8017D5DC(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" diff --git a/src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.c b/src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.c index 483b34d428..24df1bfe0b 100644 --- a/src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.c +++ b/src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184EC4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184EC8) : "memory"); + gte_stlvnl(D_80184EC8); pc0 = D_80184EC4; pc4 = D_80184EC8; diff --git a/src/ov_SC03_111/ov_SC03_111_jr_801380E0.c b/src/ov_SC03_111/ov_SC03_111_jr_801380E0.c index c8ea8d08c0..1be9bd8ecc 100644 --- a/src/ov_SC03_111/ov_SC03_111_jr_801380E0.c +++ b/src/ov_SC03_111/ov_SC03_111_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184FF0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c b/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c index dae616d12e..2d8072c2a2 100644 --- a/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c +++ b/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.c @@ -2713,121 +2713,20 @@ extern void func_8017E99C(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017EC58(s32 arg0) { @@ -3066,7 +2965,7 @@ void func_8017EC58(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -3188,87 +3087,6 @@ void func_8017EC58(s32 arg0) } -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017FB38(s32 arg0, s32 arg1, s32 arg2, s32 arg3) @@ -4146,27 +3964,10 @@ extern void func_80181574(); #include "common.h" #ifndef gte_ldv3 -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) #endif #ifndef gte_rtpt -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") #endif #ifndef gte_stsxy3 -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) #endif typedef struct { s16 vx, vy, vz, pad; } SV_80181574; @@ -4821,26 +4622,6 @@ extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_80182490(s32 a0) { @@ -4910,8 +4691,8 @@ void func_80182490(s32 a0) (func_8004787C(*(s16 *)(a0 + 0x108)) >> 6); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -4945,8 +4726,8 @@ void func_80182490(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + (d << 4); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -4982,8 +4763,8 @@ void func_80182490(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + 0xC00; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -5257,46 +5038,6 @@ extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_80182F8C(s32 a0) { @@ -5351,8 +5092,8 @@ void func_80182F8C(s32 a0) *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_80047948(ang2) >> 3; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -6460,30 +6201,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_801847DC"); diff --git a/src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.c b/src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.c index f095c9ad22..141187a378 100644 --- a/src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.c +++ b/src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80185CCC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80185CD0) : "memory"); + gte_stlvnl(D_80185CD0); pc0 = D_80185CCC; pc4 = D_80185CD0; diff --git a/src/ov_SC03_112/ov_SC03_112_jr_801380E0.c b/src/ov_SC03_112/ov_SC03_112_jr_801380E0.c index 9c960ab6a0..2a4df06b3e 100644 --- a/src/ov_SC03_112/ov_SC03_112_jr_801380E0.c +++ b/src/ov_SC03_112/ov_SC03_112_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80185DF8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c b/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c index b78f814581..728791fac9 100644 --- a/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c +++ b/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c @@ -2700,73 +2700,14 @@ extern void func_8017C230(int a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2776,204 +2717,14 @@ extern void func_8017C230(int a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C294__t67f11bf2.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D174(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { @@ -3962,55 +3713,11 @@ extern s16 D_8018968C[]; * `mvmva 1,0,0,0,0` (PsyQ rtv0tr, encoding 0x4A480012) has no gas mnemonic and * include/gte_macros.inc is an assembler-side macro file inline asm cannot reach, so it is * emitted as a .word. */ -#define gte_SetRotMatrix(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ __volatile__ ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ __volatile__ ("nop;nop;.word 0x4A480012") -#define gte_stlvnl(r0) __asm__ __volatile__ ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ __volatile__ ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8017EBE4(s32 a0) { diff --git a/src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.c b/src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.c index 365d430f8a..a92df62112 100644 --- a/src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.c +++ b/src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018337C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80183380) : "memory"); + gte_stlvnl(D_80183380); pc0 = D_8018337C; pc4 = D_80183380; diff --git a/src/ov_SC03_113/ov_SC03_113_jr_801380E0.c b/src/ov_SC03_113/ov_SC03_113_jr_801380E0.c index 51bfb936d8..4642f76ac7 100644 --- a/src/ov_SC03_113/ov_SC03_113_jr_801380E0.c +++ b/src/ov_SC03_113/ov_SC03_113_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_801834A8[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c b/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c index b660209e27..63fa1054de 100644 --- a/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c +++ b/src/ov_SC03_113/ov_SC03_113_jr_8017C294.c @@ -2688,73 +2688,14 @@ extern void func_8017C230(int a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2764,204 +2705,14 @@ extern void func_8017C230(int a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C294__t67f11bf2.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D174(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { @@ -5465,26 +5216,6 @@ extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_80181128(s32 a0) { @@ -5554,8 +5285,8 @@ void func_80181128(s32 a0) (func_8004787C(*(s16 *)(a0 + 0x108)) >> 6); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -5589,8 +5320,8 @@ void func_80181128(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + (d << 4); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -5626,8 +5357,8 @@ void func_80181128(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + 0xC00; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -5898,46 +5629,6 @@ extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_80181C24(s32 a0) { @@ -5992,8 +5683,8 @@ void func_80181C24(s32 a0) *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_80047948(ang2) >> 3; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; diff --git a/src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.c b/src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.c index 235f096110..bb0d408bd2 100644 --- a/src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.c +++ b/src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017EFE4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017EFE8) : "memory"); + gte_stlvnl(D_8017EFE8); pc0 = D_8017EFE4; pc4 = D_8017EFE8; diff --git a/src/ov_SC03_114/ov_SC03_114_jr_801380E0.c b/src/ov_SC03_114/ov_SC03_114_jr_801380E0.c index 20d1af52f7..4357b6c042 100644 --- a/src/ov_SC03_114/ov_SC03_114_jr_801380E0.c +++ b/src/ov_SC03_114/ov_SC03_114_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8017F110[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c b/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c index 9fe9834cbd..9d85f5c5ff 100644 --- a/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c +++ b/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.c @@ -2694,73 +2694,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2770,45 +2711,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3726,68 +3632,13 @@ void func_8017E270(void *a0) { * (§103/T51, the func_80185944 precedent). */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) diff --git a/src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.c b/src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.c index aa514db6ae..a39297fdae 100644 --- a/src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.c +++ b/src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80180A50) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80180A54) : "memory"); + gte_stlvnl(D_80180A54); pc0 = D_80180A50; pc4 = D_80180A54; diff --git a/src/ov_SC03_115/ov_SC03_115_jr_801380E0.c b/src/ov_SC03_115/ov_SC03_115_jr_801380E0.c index 433e9b47d2..83136488a0 100644 --- a/src/ov_SC03_115/ov_SC03_115_jr_801380E0.c +++ b/src/ov_SC03_115/ov_SC03_115_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80180B7C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c b/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c index 75be394ca3..aed334c4ba 100644 --- a/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c +++ b/src/ov_SC03_115/ov_SC03_115_jr_8017BEBC.c @@ -2680,121 +2680,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3033,7 +2932,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.c b/src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.c index 588b38b6a1..d976ad07b7 100644 --- a/src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.c +++ b/src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182E54) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182E58) : "memory"); + gte_stlvnl(D_80182E58); pc0 = D_80182E54; pc4 = D_80182E58; diff --git a/src/ov_SC03_116/ov_SC03_116_jr_801380E0.c b/src/ov_SC03_116/ov_SC03_116_jr_801380E0.c index 939298fed3..193705bc38 100644 --- a/src/ov_SC03_116/ov_SC03_116_jr_801380E0.c +++ b/src/ov_SC03_116/ov_SC03_116_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80182F80[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c b/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c index 1c39ff74ad..1e4df1205b 100644 --- a/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c +++ b/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.c @@ -3523,97 +3523,17 @@ void func_8017BEBC(s32 arg0) * grant, exactly as Sec.78 predicts. * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* ---- the two gouraud-textured packet layouts this function emits ---------- */ /* 0x28 */ diff --git a/src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.c b/src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.c index 15388688b0..82c08924ee 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184E60) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184E64) : "memory"); + gte_stlvnl(D_80184E64); pc0 = D_80184E60; pc4 = D_80184E64; diff --git a/src/ov_SC03_117/ov_SC03_117_jr_801380E0.c b/src/ov_SC03_117/ov_SC03_117_jr_801380E0.c index 3271180fb7..5cecbf2169 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_801380E0.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184F8C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c b/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c index 00f3a81d71..845dd34e28 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c @@ -2684,121 +2684,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3037,7 +2936,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c b/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c index 2632ca0ea1..f1ca4597f6 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_8017E6EC.c @@ -3869,68 +3869,12 @@ extern void func_8001739C(void *a0); /* === macros below spelled EXACTLY as destination TU lines 2693-2795 === */ -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) typedef struct { s16 x; /* +0x0 */ diff --git a/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c b/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c index f35d03d48e..b9ecca16e9 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_80181C80.c @@ -3093,26 +3093,6 @@ extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_8018242C(s32 a0) { @@ -3182,8 +3162,8 @@ void func_8018242C(s32 a0) (func_8004787C(*(s16 *)(a0 + 0x108)) >> 6); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -3217,8 +3197,8 @@ void func_8018242C(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + (d << 4); func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -3254,8 +3234,8 @@ void func_8018242C(s32 a0) *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + 0xC00; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -3526,46 +3506,6 @@ extern s32 func_8004787C(s32 a0); extern s32 func_80047948(s32 a0); extern void func_80049CAC(s32 a0, s32 a1); extern void func_8012C218(void *a0); -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define SRM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define STM_80186B78(r0) __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"(r0) : "$12", "$13", "$14", "memory") void func_80182F28(s32 a0) { @@ -3620,8 +3560,8 @@ void func_80182F28(s32 a0) *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_80047948(ang2) >> 3; func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - SRM_80186B78((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); - STM_80186B78((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); + gte_SetRotMatrix((s32 *)(*(s32 *)(a0 + 0x20) + 0x34)); + gte_SetTransMatrix((s32 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x34)); p = *(s16 **)(a0 + 0xD0); sv[0] = 0; @@ -4727,30 +4667,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80184778"); diff --git a/src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.c b/src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.c index 00c7d0a1d5..67dfdf578b 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.c @@ -562,46 +562,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -677,114 +637,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2020,80 +1872,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2430,11 +2208,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80189F0C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80189F10) : "memory"); + gte_stlvnl(D_80189F10); pc0 = D_80189F0C; pc4 = D_80189F10; diff --git a/src/ov_SC03_118/ov_SC03_118_jr_801380E0.c b/src/ov_SC03_118/ov_SC03_118_jr_801380E0.c index 6e75b172c9..9959a5587a 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_801380E0.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018A038[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c b/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c index 15b090283a..11d65ac53d 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c @@ -3430,23 +3430,6 @@ extern void func_80013F3C(s32 a0); extern void func_80017714(void *); extern void func_8004914C(); extern void func_800491AC(); -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, SVECTOR_8017E72C *e, SVECTOR_8017E72C *f, s16 *g) @@ -3501,15 +3484,15 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -3518,7 +3501,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3526,7 +3509,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -3534,7 +3517,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -4068,45 +4051,6 @@ extern void func_80013F3C(s32 a0); extern void func_80017714(void *); extern void func_8004914C(); extern void func_800491AC(); -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) { @@ -4141,22 +4085,22 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) r0_00 = &D_801D42A8[0]; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); a1->vx = a1->vx - 2; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); a2->vx = a2->vx - 2; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -4165,12 +4109,12 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) a1->vx = a1->vx + 4; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); a2->vx = a2->vx + 4; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = *(u16 *)(a0 + 0xE); diff --git a/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c b/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c index 5318c8074f..39b6e4be35 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c @@ -2734,121 +2734,20 @@ extern s32 func_8017F4E8(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017FB84(s32 arg0) { @@ -3087,7 +2986,7 @@ void func_8017FB84(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -3210,87 +3109,6 @@ void func_8017FB84(s32 arg0) -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_80180A64(s32 arg0, s32 arg1, s32 arg2, s32 arg3) diff --git a/src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.c b/src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.c index d9a9bd6239..7512e4d1ec 100644 --- a/src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.c +++ b/src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182728) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018272C) : "memory"); + gte_stlvnl(D_8018272C); pc0 = D_80182728; pc4 = D_8018272C; diff --git a/src/ov_SC03_121/ov_SC03_121_jr_801380E0.c b/src/ov_SC03_121/ov_SC03_121_jr_801380E0.c index f734dd9598..d82a5d4317 100644 --- a/src/ov_SC03_121/ov_SC03_121_jr_801380E0.c +++ b/src/ov_SC03_121/ov_SC03_121_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80182854[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c b/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c index 5a2cebe262..86e80a49df 100644 --- a/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c +++ b/src/ov_SC03_121/ov_SC03_121_jr_8017BEBC.c @@ -2694,73 +2694,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2770,45 +2711,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.c b/src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.c index 858dbb2af7..8f8b3217bb 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018B154) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018B158) : "memory"); + gte_stlvnl(D_8018B158); pc0 = D_8018B154; pc4 = D_8018B158; diff --git a/src/ov_SC03_124/ov_SC03_124_jr_801380E0.c b/src/ov_SC03_124/ov_SC03_124_jr_801380E0.c index 41d2d36386..5ab9cc2785 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_801380E0.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018B280[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c b/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c index f44349fd52..482794905f 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c @@ -3652,65 +3652,6 @@ extern void func_80146C3C(void); #include "../shared/ov/func_8017C6AC.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3718,41 +3659,6 @@ extern void func_80146C3C(void); : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C710__t3f3d6beb.h" diff --git a/src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.c b/src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.c index b5c8ab9558..4341d27c4f 100644 --- a/src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.c +++ b/src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184324) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184328) : "memory"); + gte_stlvnl(D_80184328); pc0 = D_80184324; pc4 = D_80184328; diff --git a/src/ov_SC03_125/ov_SC03_125_jr_801380E0.c b/src/ov_SC03_125/ov_SC03_125_jr_801380E0.c index 479f392c37..ae922ad5b2 100644 --- a/src/ov_SC03_125/ov_SC03_125_jr_801380E0.c +++ b/src/ov_SC03_125/ov_SC03_125_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184450[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c b/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c index eb268dcb46..87961bab43 100644 --- a/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c +++ b/src/ov_SC03_125/ov_SC03_125_jr_8017D604.c @@ -2684,121 +2684,20 @@ extern void func_8017CF30(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D604(s32 arg0) { @@ -3037,7 +2936,7 @@ void func_8017D604(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.c b/src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.c index 0786254567..99ed4d4f25 100644 --- a/src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.c +++ b/src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.c @@ -611,46 +611,6 @@ s32 func_8012E27C(void) { #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -699,114 +659,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1417,80 +1269,6 @@ extern int D_8017F7D8; #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" diff --git a/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c b/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c index 64e186ee3e..861026c616 100644 --- a/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c +++ b/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.c @@ -3006,98 +3006,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C6F4__362c87a7.h" diff --git a/src/ov_SC03_126/ov_SC03_126_jr_8017D5C0.c b/src/ov_SC03_126/ov_SC03_126_jr_8017D5C0.c index 1c77cf7b9b..7702be0d29 100644 --- a/src/ov_SC03_126/ov_SC03_126_jr_8017D5C0.c +++ b/src/ov_SC03_126/ov_SC03_126_jr_8017D5C0.c @@ -2706,73 +2706,14 @@ extern void func_8017C688(s32 a0, s32 a1); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2782,45 +2723,10 @@ extern void func_8017C688(s32 a0, s32 a1); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D5C0__e98d5a37.h" diff --git a/src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.c b/src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.c index 7f793efa1d..fa17d7fffc 100644 --- a/src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.c +++ b/src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.c @@ -817,46 +817,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -932,114 +892,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2275,80 +2127,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2685,11 +2463,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80183828) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018382C) : "memory"); + gte_stlvnl(D_8018382C); pc0 = D_80183828; pc4 = D_8018382C; diff --git a/src/ov_SC04_000/ov_SC04_000_jr_801380E0.c b/src/ov_SC04_000/ov_SC04_000_jr_801380E0.c index a1c54f4687..4c523313d4 100644 --- a/src/ov_SC04_000/ov_SC04_000_jr_801380E0.c +++ b/src/ov_SC04_000/ov_SC04_000_jr_801380E0.c @@ -1010,22 +1010,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80183954[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1046,7 +1032,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1123,12 +1109,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1142,12 +1124,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c b/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c index c1308e6292..65bd4ec619 100644 --- a/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c +++ b/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c @@ -2688,121 +2688,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3041,7 +2940,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -5843,30 +5742,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80180EC4"); diff --git a/src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.c b/src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.c index 115272f658..a630b1bb45 100644 --- a/src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.c +++ b/src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80188994) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80188998) : "memory"); + gte_stlvnl(D_80188998); pc0 = D_80188994; pc4 = D_80188998; diff --git a/src/ov_SC04_002/ov_SC04_002_jr_801380E0.c b/src/ov_SC04_002/ov_SC04_002_jr_801380E0.c index dc43d0fc73..937888cfb9 100644 --- a/src/ov_SC04_002/ov_SC04_002_jr_801380E0.c +++ b/src/ov_SC04_002/ov_SC04_002_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80188AC0[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c index 02098fd0e9..c1a7abbeb8 100644 --- a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c +++ b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c @@ -2672,121 +2672,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3025,7 +2924,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -6033,25 +5932,8 @@ extern struct PW8017E6D8 D_801C1530; extern u8 D_801C1534, D_801C1535, D_801C1536, D_801C1538, D_801C1539, D_801C153A; extern int D_801C153C; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_80180FEC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -6096,15 +5978,15 @@ void func_80180FEC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -6113,7 +5995,7 @@ void func_80180FEC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -6121,7 +6003,7 @@ void func_80180FEC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -6129,7 +6011,7 @@ void func_80180FEC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -10398,71 +10280,6 @@ void func_80186D94(s32 a0) { extern void func_80017714(void *); -#define gte_ldv0_801837B0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_801837B0() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_801837B0() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4_801837B0() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy_801837B0(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz_801837B0(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801837B0(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80186DD4(s32 a0) { @@ -10524,38 +10341,38 @@ void func_80186DD4(s32 a0) pkt.code = 0x50000000; m = (s32 *)(base + 0x18); - gte_SetRotMatrix_801837B0(m); - gte_SetTransMatrix_801837B0(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), + gte_ldv3((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), (SV_801837B0 *)(a0 + 0xEC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xF4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xF4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); } - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), + gte_ldv3((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), (SV_801837B0 *)(a0 + 0xDC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xE4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xE4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); @@ -10954,47 +10771,6 @@ void func_801878B0(s32 a0, s32 a1, s32 a2, void *a3) typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_801879FC; -#define gte_ldv3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0_801843D8(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt_801843D8() __asm__ volatile ("nop;nop;rtpt") -#define gte_rtps_801843D8() __asm__ volatile ("nop;nop;rtps") -#define gte_avsz4_801843D8() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy_801843D8(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz_801843D8(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801843D8(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_801879FC(void *a0) { @@ -11014,18 +10790,18 @@ void func_801879FC(void *a0) pkt[3] = 8; pkt[7] = 0x3A; - gte_ldv3_801843D8(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); - gte_rtpt_801843D8(); - gte_stflg_801843D8(&flag1); - gte_stsxy3_801843D8(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv3(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); - gte_ldv0_801843D8((u8 *)a0 + 0x18); - gte_rtps_801843D8(); - gte_stflg_801843D8(&flag2); + gte_ldv0((u8 *)a0 + 0x18); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801843D8(pkt + 0x20); - gte_avsz4_801843D8(); - gte_stotz_801843D8(&otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { u8 *pkt2; diff --git a/src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.c b/src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.c index 330c461885..8b543d6277 100644 --- a/src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.c +++ b/src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182730) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182734) : "memory"); + gte_stlvnl(D_80182734); pc0 = D_80182730; pc4 = D_80182734; diff --git a/src/ov_SC04_003/ov_SC04_003_jr_801380E0.c b/src/ov_SC04_003/ov_SC04_003_jr_801380E0.c index 7aa4bf84bb..a3483388be 100644 --- a/src/ov_SC04_003/ov_SC04_003_jr_801380E0.c +++ b/src/ov_SC04_003/ov_SC04_003_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_8018285C[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c b/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c index 41b898b12f..cc4dce094d 100644 --- a/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c +++ b/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c @@ -2692,73 +2692,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3860,92 +3766,6 @@ void func_8017E498(s32 a0) { -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8017E4F4(void *a0, void *a1) { @@ -6500,30 +6320,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80182048"); diff --git a/src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.c b/src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.c index 1dca7ee588..8c30f4175d 100644 --- a/src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.c +++ b/src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184C64) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184C68) : "memory"); + gte_stlvnl(D_80184C68); pc0 = D_80184C64; pc4 = D_80184C68; diff --git a/src/ov_SC04_004/ov_SC04_004_jr_801380E0.c b/src/ov_SC04_004/ov_SC04_004_jr_801380E0.c index e2ec936cf4..5e3b66044f 100644 --- a/src/ov_SC04_004/ov_SC04_004_jr_801380E0.c +++ b/src/ov_SC04_004/ov_SC04_004_jr_801380E0.c @@ -1009,22 +1009,8 @@ s32 func_80139BE0(int param_1) extern s16 D_800D45F4[]; /* src0 (flat: [2*i]=x, [2*i+1]=y) */ extern u8 D_80184D90[]; /* sign table, alt (when a1 < 0xC00) */ -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_mvmva0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stlvnl(r0) __asm__ __volatile__( \ - "swc2 $25, 0(%0)\n" \ - "swc2 $26, 4(%0)\n" \ - "swc2 $27, 8(%0)\n" \ - : : "r"(r0) : "memory") void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) { @@ -1045,7 +1031,7 @@ void func_8013AD38(void *flag, s32 a1, void *out2, void *out3) vec[0] = D_800D45F4[2 * i] + (((D_800D466C[2 * i] - D_800D45F4[2 * i]) * ((s16)a1)) >> 12); vec[1] = D_800D45F4[2 * i + 1] + (((D_800D466C[2 * i + 1] - D_800D45F4[2 * i + 1]) * ((s16)a1)) >> 12); gte_ldv0(vec); - gte_mvmva0(); + gte_rtv0tr(); gte_stlvnl(res); ((Pair_8013AD38 *)out2)[i].x = res[0]; ((Pair_8013AD38 *)out2)[i].y = res[1]; @@ -1122,12 +1108,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 0, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 8) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 8); if (((s16*)a2)[1] > 0) *(s32 *)((u8 *)L + 0xC) -= 1; @@ -1141,12 +1123,8 @@ void func_8013B274(s32 a0, s32 a1, void *a2) "lwc2 $1, 4(%0)\n" "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" - : : "r"(L) : "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"((u8 *)L + 0x18) : "memory"); + : : "r"(L) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0+gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl((u8 *)L + 0x18); *(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8); *(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC); diff --git a/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c b/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c index 181fa51ad5..c893928759 100644 --- a/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c +++ b/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c @@ -3311,107 +3311,6 @@ void func_8017BE60(void *a0) { #include "../shared/ov/func_8017BEB4.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3650,7 +3549,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.c b/src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.c index 40be8bc667..f5e1b93af7 100644 --- a/src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.c +++ b/src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80188098) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018809C) : "memory"); + gte_stlvnl(D_8018809C); pc0 = D_80188098; pc4 = D_8018809C; diff --git a/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c b/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c index d7b3fb9e60..73053636b4 100644 --- a/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c +++ b/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c @@ -2671,121 +2671,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3024,7 +2923,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -5606,25 +5505,8 @@ extern struct PW8017E6D8 D_801C2170; extern u8 D_801C2174, D_801C2175, D_801C2176, D_801C2178, D_801C2179, D_801C217A; extern int D_801C217C; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_80180404(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -5669,15 +5551,15 @@ void func_80180404(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -5686,7 +5568,7 @@ void func_80180404(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -5694,7 +5576,7 @@ void func_80180404(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -5702,7 +5584,7 @@ void func_80180404(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -6139,92 +6021,6 @@ void func_80180FF8(void *a0) { -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80181054(void *a0, void *a1) { @@ -8099,30 +7895,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80183D1C"); @@ -9724,71 +9496,6 @@ void func_80186164(s32 a0) { extern void func_80017714(void *); -#define gte_ldv0_801837B0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_801837B0() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_801837B0() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4_801837B0() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy_801837B0(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz_801837B0(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801837B0(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801861A4(s32 a0) { @@ -9850,38 +9557,38 @@ void func_801861A4(s32 a0) pkt.code = 0x50000000; m = (s32 *)(base + 0x18); - gte_SetRotMatrix_801837B0(m); - gte_SetTransMatrix_801837B0(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), + gte_ldv3((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), (SV_801837B0 *)(a0 + 0xEC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xF4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xF4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); } - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), + gte_ldv3((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), (SV_801837B0 *)(a0 + 0xDC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xE4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xE4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); @@ -10280,47 +9987,6 @@ void func_80186C80(s32 a0, s32 a1, s32 a2, void *a3) typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_80186DCC; -#define gte_ldv3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0_801843D8(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt_801843D8() __asm__ volatile ("nop;nop;rtpt") -#define gte_rtps_801843D8() __asm__ volatile ("nop;nop;rtps") -#define gte_avsz4_801843D8() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy_801843D8(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz_801843D8(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801843D8(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80186DCC(void *a0) { @@ -10340,18 +10006,18 @@ void func_80186DCC(void *a0) pkt[3] = 8; pkt[7] = 0x3A; - gte_ldv3_801843D8(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); - gte_rtpt_801843D8(); - gte_stflg_801843D8(&flag1); - gte_stsxy3_801843D8(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv3(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); - gte_ldv0_801843D8((u8 *)a0 + 0x18); - gte_rtps_801843D8(); - gte_stflg_801843D8(&flag2); + gte_ldv0((u8 *)a0 + 0x18); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801843D8(pkt + 0x20); - gte_avsz4_801843D8(); - gte_stotz_801843D8(&otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { u8 *pkt2; diff --git a/src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.c b/src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.c index b5cd821277..f488a4fd86 100644 --- a/src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.c +++ b/src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80180178) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018017C) : "memory"); + gte_stlvnl(D_8018017C); pc0 = D_80180178; pc4 = D_8018017C; diff --git a/src/ov_SC04_006/ov_SC04_006_jr_8017BEBC.c b/src/ov_SC04_006/ov_SC04_006_jr_8017BEBC.c index f6addb8ede..52cd5860a5 100644 --- a/src/ov_SC04_006/ov_SC04_006_jr_8017BEBC.c +++ b/src/ov_SC04_006/ov_SC04_006_jr_8017BEBC.c @@ -2682,73 +2682,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2758,45 +2699,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -4000,30 +3906,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_8017E75C"); diff --git a/src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.c b/src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.c index dfe4cee7e2..e41e756903 100644 --- a/src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.c +++ b/src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80186130) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186134) : "memory"); + gte_stlvnl(D_80186134); pc0 = D_80186130; pc4 = D_80186134; diff --git a/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c b/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c index f68fca909c..ab1904849b 100644 --- a/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c +++ b/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c @@ -2672,121 +2672,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3025,7 +2924,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -5227,92 +5126,6 @@ void func_8017FEAC(s32 arg0) { -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8017FF08(void *a0, void *a1) { @@ -6984,71 +6797,6 @@ void func_801827D0(s32 a0) { extern void func_80017714(void *); -#define gte_ldv0_801837B0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_801837B0() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_801837B0() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4_801837B0() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy_801837B0(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_801837B0(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz_801837B0(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801837B0(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_801837B0(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80182810(s32 a0) { @@ -7110,38 +6858,38 @@ void func_80182810(s32 a0) pkt.code = 0x50000000; m = (s32 *)(base + 0x18); - gte_SetRotMatrix_801837B0(m); - gte_SetTransMatrix_801837B0(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), + gte_ldv3((SV_801837B0 *)(a0 + 0xFC), (SV_801837B0 *)(a0 + 0x104), (SV_801837B0 *)(a0 + 0xEC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xF4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xF4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); } - gte_ldv3_801837B0((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), + gte_ldv3((SV_801837B0 *)(a0 + 0xEC), (SV_801837B0 *)(a0 + 0xF4), (SV_801837B0 *)(a0 + 0xDC)); - gte_rtpt_801837B0(); - gte_stflg_801837B0(&flag1); - gte_stsxy3_801837B0(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_801837B0((SV_801837B0 *)(a0 + 0xE4)); - gte_rtps_801837B0(); - gte_stflg_801837B0(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_801837B0 *)(a0 + 0xE4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801837B0(&pkt.v[3]); - gte_avsz4_801837B0(); - gte_stotz_801837B0(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { pkt.v[0].vz = (s16)otz; func_80017714(&pkt.v[0]); @@ -7540,47 +7288,6 @@ void func_801832EC(s32 a0, s32 a1, s32 a2, void *a3) typedef struct { u32 addr : 24; u32 len : 8; } PTag_801843D8_80183438; -#define gte_ldv3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0_801843D8(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtpt_801843D8() __asm__ volatile ("nop;nop;rtpt") -#define gte_rtps_801843D8() __asm__ volatile ("nop;nop;rtps") -#define gte_avsz4_801843D8() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy3_801843D8(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy_801843D8(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stotz_801843D8(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_801843D8(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80183438(void *a0) { @@ -7600,18 +7307,18 @@ void func_80183438(void *a0) pkt[3] = 8; pkt[7] = 0x3A; - gte_ldv3_801843D8(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); - gte_rtpt_801843D8(); - gte_stflg_801843D8(&flag1); - gte_stsxy3_801843D8(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv3(a0, (u8 *)a0 + 0x8, (u8 *)a0 + 0x10); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); - gte_ldv0_801843D8((u8 *)a0 + 0x18); - gte_rtps_801843D8(); - gte_stflg_801843D8(&flag2); + gte_ldv0((u8 *)a0 + 0x18); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_801843D8(pkt + 0x20); - gte_avsz4_801843D8(); - gte_stotz_801843D8(&otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&otz); if ((flag1 & 0xFFFFEFFF) == 0) { u8 *pkt2; @@ -8752,30 +8459,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_80184EC0"); @@ -9348,25 +9031,8 @@ extern struct PW8017E6D8 D_801B5A10; extern u8 D_801B5A14, D_801B5A15, D_801B5A16, D_801B5A18, D_801B5A19, D_801B5A1A; extern int D_801B5A1C; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_801857C4(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -9411,15 +9077,15 @@ void func_801857C4(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -9428,7 +9094,7 @@ void func_801857C4(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -9436,7 +9102,7 @@ void func_801857C4(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -9444,7 +9110,7 @@ void func_801857C4(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; diff --git a/src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.c b/src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.c index 9adc770cc9..4231ed6a5f 100644 --- a/src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.c +++ b/src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.c @@ -700,46 +700,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -788,114 +748,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1731,80 +1583,6 @@ extern int D_8017F024; #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2141,11 +1919,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F068) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F06C) : "memory"); + gte_stlvnl(D_8017F06C); pc0 = D_8017F068; pc4 = D_8017F06C; diff --git a/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c b/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c index bf2cfc703b..888c80187a 100644 --- a/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c +++ b/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.c @@ -3319,65 +3319,6 @@ extern void (*D_801824A4[])(void); #include "../shared/ov/func_8017BEB4.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3385,41 +3326,6 @@ extern void (*D_801824A4[])(void); : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.c b/src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.c index dacbb1c18e..5f903ceadd 100644 --- a/src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.c +++ b/src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F094) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F098) : "memory"); + gte_stlvnl(D_8017F098); pc0 = D_8017F094; pc4 = D_8017F098; diff --git a/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c b/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c index 5b01b371fe..4fcf3b7803 100644 --- a/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c +++ b/src/ov_SC04_009/ov_SC04_009_jr_8017BEBC.c @@ -2692,73 +2692,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3936,30 +3842,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_8017E520"); @@ -4160,54 +4042,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §71 sibling: identical shape to func_8018F390 (same TU, this file, D_80126B78/RotTransSV/ * func_80135888/func_8012BDBC/func_80178BF8/func_80172710 idiom) already MATCHED -- only the diff --git a/src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.c b/src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.c index 2062bdb991..8609b28d6e 100644 --- a/src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.c +++ b/src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E740) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E744) : "memory"); + gte_stlvnl(D_8017E744); pc0 = D_8017E740; pc4 = D_8017E744; diff --git a/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c b/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c index dfd3f2205e..0e2520fd02 100644 --- a/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c +++ b/src/ov_SC04_010/ov_SC04_010_jr_8017BEBC.c @@ -2691,73 +2691,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2767,45 +2708,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c b/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c index 4ed3c8763d..120dbc63af 100644 --- a/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c +++ b/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801909D0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801909D4) : "memory"); + gte_stlvnl(D_801909D4); pc0 = D_801909D0; pc4 = D_801909D4; diff --git a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c index f57fc26fc9..7e712da47c 100644 --- a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c +++ b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c @@ -2694,121 +2694,20 @@ extern void func_8017CCD8(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D494(s32 arg0) { @@ -3047,7 +2946,7 @@ void func_8017D494(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -8518,55 +8417,11 @@ extern u8 D_80194725[]; extern void func_80049CAC(s32 a0, s32 a1); -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rt() __asm__ volatile ("nop;nop;mvmva 1, 0, 0, 0, 0") -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) typedef struct { s32 w[8]; @@ -8595,7 +8450,7 @@ void func_801853D0(s32 id) *(s16 *)((s32)l + 0x24) = -*(u16 *)(obj + 0x108); gte_ldv0((s32)l + 0x20); - gte_rt(); + gte_rtv0tr(); gte_stlvnl((s32)l + 0x28); gte_stflg((s32)l + 0x38); @@ -8620,45 +8475,6 @@ void func_801853D0(s32 id) } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define gte_rt() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : : : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) typedef struct { s32 a, b, c, d, e, f, g, h; } MTX8_80185648; @@ -8709,7 +8525,7 @@ void func_80185648(u32 a0) gte_SetTransMatrix((void *)rp); } gte_ldv0((void *)(s1 + 0x104)); - gte_rt(); + gte_rtv0tr(); gte_stlvnl(r); gte_stflg(&flag); @@ -11659,21 +11475,6 @@ void func_80189764(void *a0) { } -#define GTE_SMR(r0) __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"(r0) : "$12", "$13", "$14", "memory") -#define GTE_LDV0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define GTE_RTV0() __asm__ __volatile__( \ - "nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" : : : "memory") -#define GTE_STSV(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" "sh $13, 2(%0)\n" "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") typedef struct { s16 m[3][3]; s32 t[3]; } MATRIX_8018985C; typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018985C; @@ -11699,14 +11500,14 @@ s32 func_8018985C(void *a0, void *a1) sv[1].vz = *(u16 *)((s32)a1 + 0xC); sv[2].vz = *(u16 *)((s32)a1 + 0xE); - GTE_SMR(&mtx); - GTE_LDV0(&sv[1]); - GTE_RTV0(); - GTE_STSV(&sv[1]); - GTE_SMR(&mtx); - GTE_LDV0(&sv[2]); - GTE_RTV0(); - GTE_STSV(&sv[2]); + gte_SetRotMatrix(&mtx); + gte_ldv0(&sv[1]); + gte_rtv0(); + gte_stsv(&sv[1]); + gte_SetRotMatrix(&mtx); + gte_ldv0(&sv[2]); + gte_rtv0(); + gte_stsv(&sv[2]); if (sv[0].vx > sv[1].vx && sv[0].vx < sv[2].vx && sv[0].vz > sv[1].vz && sv[0].vz < sv[2].vz) { @@ -16201,87 +16002,6 @@ void func_8018EFB0(void *a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) diff --git a/src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.c b/src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.c index a2e663cbf8..85eec579b0 100644 --- a/src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.c +++ b/src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017EBA4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017EBA8) : "memory"); + gte_stlvnl(D_8017EBA8); pc0 = D_8017EBA4; pc4 = D_8017EBA8; diff --git a/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c b/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c index e7abe2a8d6..1e54cdb2eb 100644 --- a/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c +++ b/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c @@ -3317,65 +3317,6 @@ void func_8017BE60(void *a0) { #include "../shared/ov/func_8017BEB4.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3383,41 +3324,6 @@ void func_8017BE60(void *a0) { : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.c b/src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.c index 79ea4e5791..bd7b940dac 100644 --- a/src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.c +++ b/src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80184ADC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80184AE0) : "memory"); + gte_stlvnl(D_80184AE0); pc0 = D_80184ADC; pc4 = D_80184AE0; diff --git a/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c b/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c index e454c9f074..c60356333c 100644 --- a/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c +++ b/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c @@ -3711,107 +3711,6 @@ void func_8017C6CC(int a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C730(s32 arg0) { @@ -4050,7 +3949,7 @@ void func_8017C730(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.c b/src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.c index 4bcc6c9da4..9015b9867f 100644 --- a/src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.c +++ b/src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801805A0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801805A4) : "memory"); + gte_stlvnl(D_801805A4); pc0 = D_801805A0; pc4 = D_801805A4; diff --git a/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c b/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c index a6547f87d5..8423cb9371 100644 --- a/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c +++ b/src/ov_SC04_016/ov_SC04_016_jr_8017BEBC.c @@ -2694,73 +2694,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2770,45 +2711,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c b/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c index d809ff7590..dcef691abc 100644 --- a/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c +++ b/src/ov_SC04_016/ov_SC04_016_jr_8017F03C.c @@ -3099,87 +3099,6 @@ void func_8017F82C(void *a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) diff --git a/src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.c b/src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.c index 6fc9256272..1292177519 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018D7B8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018D7BC) : "memory"); + gte_stlvnl(D_8018D7BC); pc0 = D_8018D7B8; pc4 = D_8018D7BC; diff --git a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c index a42c70e458..56db2204e4 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c @@ -3663,65 +3663,6 @@ extern void func_80146C3C(void); #include "../shared/ov/func_8017C6AC.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3729,41 +3670,6 @@ extern void func_80146C3C(void); : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C710__t3f3d6beb.h" diff --git a/src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.c b/src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.c index 190fc7fe3d..936ed4a9a7 100644 --- a/src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.c +++ b/src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801838F0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801838F4) : "memory"); + gte_stlvnl(D_801838F4); pc0 = D_801838F0; pc4 = D_801838F4; diff --git a/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c b/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c index 35b91ad4a7..a4178ffa41 100644 --- a/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c +++ b/src/ov_SC04_020/ov_SC04_020_jr_8017D604.c @@ -2683,121 +2683,20 @@ extern void func_8017CF30(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D604(s32 arg0) { @@ -3036,7 +2935,7 @@ void func_8017D604(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.c b/src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.c index 0786254567..99ed4d4f25 100644 --- a/src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.c +++ b/src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.c @@ -611,46 +611,6 @@ s32 func_8012E27C(void) { #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -699,114 +659,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1417,80 +1269,6 @@ extern int D_8017F7D8; #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" diff --git a/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c b/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c index 71ced86682..8052069a69 100644 --- a/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c +++ b/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.c @@ -2984,87 +2984,6 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C6F4__362c87a7.h" diff --git a/src/ov_SC04_021/ov_SC04_021_jr_8017D5C0.c b/src/ov_SC04_021/ov_SC04_021_jr_8017D5C0.c index a27a43187e..d4e250ceb3 100644 --- a/src/ov_SC04_021/ov_SC04_021_jr_8017D5C0.c +++ b/src/ov_SC04_021/ov_SC04_021_jr_8017D5C0.c @@ -2706,73 +2706,14 @@ extern void func_8017C688(s32 a0, s32 a1); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2782,45 +2723,10 @@ extern void func_8017C688(s32 a0, s32 a1); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D5C0__e98d5a37.h" diff --git a/src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.c b/src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.c index 4559c69630..c8a4cd2065 100644 --- a/src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.c +++ b/src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.c @@ -817,46 +817,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -932,114 +892,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2275,80 +2127,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2685,11 +2463,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E830) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E834) : "memory"); + gte_stlvnl(D_8017E834); pc0 = D_8017E830; pc4 = D_8017E834; diff --git a/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c b/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c index 9c3197667f..538f849511 100644 --- a/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c +++ b/src/ov_SC05_000/ov_SC05_000_jr_8017BEBC.c @@ -2683,121 +2683,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3036,7 +2935,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.c b/src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.c index 4ae0b5c49c..aded60a694 100644 --- a/src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.c +++ b/src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018600C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186010) : "memory"); + gte_stlvnl(D_80186010); pc0 = D_8018600C; pc4 = D_80186010; diff --git a/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c b/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c index 95b099c8f3..225b5609ef 100644 --- a/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c +++ b/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c @@ -2690,121 +2690,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3043,7 +2942,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.c b/src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.c index d87418abe1..5c24e6ec95 100644 --- a/src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.c +++ b/src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801807CC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801807D0) : "memory"); + gte_stlvnl(D_801807D0); pc0 = D_801807CC; pc4 = D_801807D0; diff --git a/src/ov_SC05_002/ov_SC05_002_jr_8017BEBC.c b/src/ov_SC05_002/ov_SC05_002_jr_8017BEBC.c index 849ecc89f1..92346ba213 100644 --- a/src/ov_SC05_002/ov_SC05_002_jr_8017BEBC.c +++ b/src/ov_SC05_002/ov_SC05_002_jr_8017BEBC.c @@ -2693,73 +2693,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2769,204 +2710,14 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017CD9C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { @@ -4874,30 +4625,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_801800E4"); diff --git a/src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.c b/src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.c index 0d32484b02..6d9b65654f 100644 --- a/src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.c +++ b/src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182B04) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182B08) : "memory"); + gte_stlvnl(D_80182B08); pc0 = D_80182B04; pc4 = D_80182B08; diff --git a/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c b/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c index fcba76ea20..8c4bd99d8f 100644 --- a/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c +++ b/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c @@ -2690,73 +2690,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2766,204 +2707,14 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017CD9C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { diff --git a/src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.c b/src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.c index 95101e5204..2fc9feb9c7 100644 --- a/src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.c +++ b/src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80181C10) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80181C14) : "memory"); + gte_stlvnl(D_80181C14); pc0 = D_80181C10; pc4 = D_80181C14; diff --git a/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c b/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c index 1d741b2ee4..465f46a836 100644 --- a/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c +++ b/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c @@ -2681,121 +2681,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3034,7 +2933,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.c b/src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.c index d2996606af..e3c6bf483b 100644 --- a/src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.c +++ b/src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801829E4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801829E8) : "memory"); + gte_stlvnl(D_801829E8); pc0 = D_801829E4; pc4 = D_801829E8; diff --git a/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c b/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c index 9f30fc4556..065f5c96ee 100644 --- a/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c +++ b/src/ov_SC05_005/ov_SC05_005_jr_8017D898.c @@ -2701,73 +2701,14 @@ extern void func_8017D824(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2777,45 +2718,10 @@ extern void func_8017D824(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D898__t67f11bf2.h" diff --git a/src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.c b/src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.c index a0fb461314..07bcacabbc 100644 --- a/src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.c +++ b/src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017FA04) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017FA08) : "memory"); + gte_stlvnl(D_8017FA08); pc0 = D_8017FA04; pc4 = D_8017FA08; diff --git a/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c b/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c index 4b43ba22a2..1f4384ee16 100644 --- a/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c +++ b/src/ov_SC05_006/ov_SC05_006_jr_8017BEBC.c @@ -2687,121 +2687,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3040,7 +2939,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.c b/src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.c index 08bdad2157..ad4a2655eb 100644 --- a/src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.c +++ b/src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80181000) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80181004) : "memory"); + gte_stlvnl(D_80181004); pc0 = D_80181000; pc4 = D_80181004; diff --git a/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c b/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c index 93c17fbc91..686106c78a 100644 --- a/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c +++ b/src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c @@ -2689,73 +2689,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2765,45 +2706,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.c b/src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.c index 34f64a63ad..4822f3048a 100644 --- a/src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.c +++ b/src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182F58) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182F5C) : "memory"); + gte_stlvnl(D_80182F5C); pc0 = D_80182F58; pc4 = D_80182F5C; diff --git a/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c b/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c index 3b967358e0..f11389405c 100644 --- a/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c +++ b/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c @@ -3320,65 +3320,6 @@ void func_8017BE60(void *a0) { #include "../shared/ov/func_8017BEB4.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3386,41 +3327,6 @@ void func_8017BE60(void *a0) { : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.c b/src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.c index 310ac41bcc..9dca3a15e0 100644 --- a/src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.c +++ b/src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.c @@ -700,46 +700,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -788,114 +748,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1731,80 +1583,6 @@ extern int D_8017F024; #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2141,11 +1919,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F068) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F06C) : "memory"); + gte_stlvnl(D_8017F06C); pc0 = D_8017F068; pc4 = D_8017F06C; diff --git a/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c b/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c index c5a2af161d..68a12d4342 100644 --- a/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c +++ b/src/ov_SC05_009/ov_SC05_009_jr_8017BEBC.c @@ -2689,73 +2689,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2765,45 +2706,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -4032,54 +3938,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §71 sibling: identical shape to func_8018F390 (same TU, this file, D_80126B78/RotTransSV/ * func_80135888/func_8012BDBC/func_80178BF8/func_80172710 idiom) already MATCHED -- only the diff --git a/src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.c b/src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.c index 26fd289733..3dccdb9e18 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80188F44) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80188F48) : "memory"); + gte_stlvnl(D_80188F48); pc0 = D_80188F44; pc4 = D_80188F48; diff --git a/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c b/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c index 8162e5cdb8..b6a85888fe 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c @@ -2695,73 +2695,14 @@ extern void func_8017C114(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2771,45 +2712,10 @@ extern void func_8017C114(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C8D0__t67f11bf2.h" diff --git a/src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.c b/src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.c index c4ba18311e..bbd2795ea5 100644 --- a/src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.c +++ b/src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E2BC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E2C0) : "memory"); + gte_stlvnl(D_8017E2C0); pc0 = D_8017E2BC; pc4 = D_8017E2C0; diff --git a/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c b/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c index dd508e0789..ed70953d1c 100644 --- a/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c +++ b/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.c @@ -2694,73 +2694,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2770,45 +2711,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.c b/src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.c index 2a20d5215f..8a4070f7d8 100644 --- a/src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.c +++ b/src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018D77C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018D780) : "memory"); + gte_stlvnl(D_8018D780); pc0 = D_8018D77C; pc4 = D_8018D780; diff --git a/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c b/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c index 0eadebdc10..0a2f55d085 100644 --- a/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c +++ b/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c @@ -3657,65 +3657,6 @@ extern void func_80146C3C(void); #include "../shared/ov/func_8017C6AC.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3723,41 +3664,6 @@ extern void func_80146C3C(void); : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C710__t3f3d6beb.h" diff --git a/src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.c b/src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.c index d4dd3d5cb8..0d27382547 100644 --- a/src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.c +++ b/src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80186ED8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186EDC) : "memory"); + gte_stlvnl(D_80186EDC); pc0 = D_80186ED8; pc4 = D_80186EDC; diff --git a/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c b/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c index 00843432ff..eb515046e8 100644 --- a/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c +++ b/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c @@ -2683,121 +2683,20 @@ extern void func_8017CF30(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017D604(s32 arg0) { @@ -3036,7 +2935,7 @@ void func_8017D604(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { diff --git a/src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.c b/src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.c index 0786254567..99ed4d4f25 100644 --- a/src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.c +++ b/src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.c @@ -611,46 +611,6 @@ s32 func_8012E27C(void) { #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -699,114 +659,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -1417,80 +1269,6 @@ extern int D_8017F7D8; #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" diff --git a/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c b/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c index 71ced86682..8052069a69 100644 --- a/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c +++ b/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.c @@ -2984,87 +2984,6 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C6F4; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C6F4; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C6F4__362c87a7.h" diff --git a/src/ov_SC05_019/ov_SC05_019_jr_8017D5C0.c b/src/ov_SC05_019/ov_SC05_019_jr_8017D5C0.c index cc78182f61..dfd171b11d 100644 --- a/src/ov_SC05_019/ov_SC05_019_jr_8017D5C0.c +++ b/src/ov_SC05_019/ov_SC05_019_jr_8017D5C0.c @@ -2706,73 +2706,14 @@ extern void func_8017C688(s32 a0, s32 a1); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2782,45 +2723,10 @@ extern void func_8017C688(s32 a0, s32 a1); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017D5C0__e98d5a37.h" diff --git a/src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.c b/src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.c index 918c163fd2..9ac8904f46 100644 --- a/src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.c +++ b/src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.c @@ -817,46 +817,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -932,114 +892,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2275,80 +2127,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2685,11 +2463,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018882C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80188830) : "memory"); + gte_stlvnl(D_80188830); pc0 = D_8018882C; pc4 = D_80188830; diff --git a/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c b/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c index 2dad1ec3a6..c0898aa76a 100644 --- a/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c +++ b/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c @@ -3431,23 +3431,6 @@ extern void func_80013F3C(s32 a0); extern void func_80017714(void *); extern void func_8004914C(); extern void func_800491AC(); -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, SVECTOR_8017E72C *e, SVECTOR_8017E72C *f, s16 *g) @@ -3502,15 +3485,15 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -3519,7 +3502,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3527,7 +3510,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -3535,7 +3518,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -4065,45 +4048,6 @@ extern void func_80013F3C(s32 a0); extern void func_80017714(void *); extern void func_8004914C(); extern void func_800491AC(); -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) { @@ -4138,22 +4082,22 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) r0_00 = &D_801AE6A8[0]; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); a1->vx = a1->vx - 2; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); a2->vx = a2->vx - 2; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -4162,12 +4106,12 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) a1->vx = a1->vx + 4; gte_ldv0(a1); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); a2->vx = a2->vx + 4; gte_ldv0(a2); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = *(u16 *)(a0 + 0xE); @@ -4821,95 +4765,17 @@ extern void func_800547D8(s32, Mtx35C *); extern void func_80052E38(Mtx35C *); extern s16 D_800B9A02; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_g3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017E35C(s32 arg0) { @@ -5067,7 +4933,7 @@ void func_8017E35C(s32 arg0) case 6: case 7: /* ---------------- TRI (FT3) ---------------- */ - gte_stsxy3_g3(pkt); + gte_stsxy3_ft3(pkt); gte_stsz3(&g.sz0, &g.sz1, &g.sz2); if (((Ft3_35C *)pkt)->x0 > ((Ft3_35C *)pkt)->x1) { mx = ((Ft3_35C *)pkt)->x0; mn = ((Ft3_35C *)pkt)->x1; @@ -5388,95 +5254,17 @@ extern void func_80052E38(MATRIX2 *); #endif -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017EF68(s32 arg0, s32 arg1, s32 arg2) { @@ -7902,13 +7690,10 @@ void func_80182E38(int param_1) "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"(mat) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__("lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" : : "r"(sv) : "memory"); - __asm__ __volatile__("nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" : : : "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 2(%0)\n" "sh $14, 4(%0)\n" - : : "r"(sv) : "$12", "$13", "$14", "memory"); + : : "r"(mat) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) + __asm__ __volatile__("lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" : : "r"(sv) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0_m) beyond Sony's (P36 T5 gte1) + __asm__ __volatile__("nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" : : : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stsv(sv); *(short *)(param_1 + 6) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 6) + *(unsigned short *)(sv + 0); *(short *)(param_1 + 10) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 10) + *(unsigned short *)(sv + 2); *(short *)(param_1 + 14) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 14) + *(unsigned short *)(sv + 4); @@ -8013,37 +7798,6 @@ void func_801831E4(s32 *param_1) } -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rtv0() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 3, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") extern s32 func_80132EF4(s32 a0, s32 a1); @@ -8453,14 +8207,12 @@ void func_80183C9C(void *a0) "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" - : : "r"(&mat) : "$12", "$13", "$14", "memory"); + : : "r"(&mat) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) __asm__ __volatile__("lwc2 $0, 0(%0)\nlwc2 $1, 4(%0)" - : : "r"(&D_8018C7BC[*(s16 *)(self + 0x70) * 4]) : "memory"); - __asm__ __volatile__("nop\nnop\nmvmva 1, 0, 0, 3, 0" : : : "memory"); - __asm__ __volatile__( - "mfc2 $12, $9\nmfc2 $13, $10\nmfc2 $14, $11\nsh $12, 0(%0)\nsh $13, 2(%0)\nsh $14, 4(%0)" - : : "r"(res) : "$12", "$13", "$14", "memory"); + : : "r"(&D_8018C7BC[*(s16 *)(self + 0x70) * 4]) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0_m) beyond Sony's (P36 T5 gte1) + __asm__ __volatile__("nop\nnop\nmvmva 1, 0, 0, 3, 0" : : : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_rtv0_m) beyond Sony's (P36 T5 gte1) + gte_stsv(res); *(s16 *)(self + 0x6) = *(u16 *)(*(s32 *)(self + 0x64) + 0x6) + res[0]; *(s16 *)(self + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA) + res[1]; @@ -11630,87 +11382,6 @@ void func_80187AB8(void *a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) diff --git a/src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.c b/src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.c index 717cba10ba..1d5ac48e11 100644 --- a/src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.c +++ b/src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182350) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182354) : "memory"); + gte_stlvnl(D_80182354); pc0 = D_80182350; pc4 = D_80182354; diff --git a/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c b/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c index e9721ec786..6f46ad94e8 100644 --- a/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c +++ b/src/ov_SC06_006/ov_SC06_006_jr_8017BEBC.c @@ -2692,73 +2692,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c b/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c index a53cb267f1..a9e0fc4a46 100644 --- a/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c +++ b/src/ov_SC06_006/ov_SC06_006_jr_8017DB90.c @@ -5426,87 +5426,6 @@ void func_801815DC(void *a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) diff --git a/src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.c b/src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.c index f9f8c884be..83e2ab19f0 100644 --- a/src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.c +++ b/src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80185DB8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80185DBC) : "memory"); + gte_stlvnl(D_80185DBC); pc0 = D_80185DB8; pc4 = D_80185DBC; diff --git a/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c b/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c index 9712439b5c..5b831b8481 100644 --- a/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c +++ b/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c @@ -2695,73 +2695,14 @@ extern void func_8017C230(int a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2771,45 +2712,10 @@ extern void func_8017C230(int a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C294__t67f11bf2.h" @@ -3767,25 +3673,14 @@ extern struct PW8017E6D8 D_801AA024; extern u8 D_801AA028, D_801AA029, D_801AA02A, D_801AA02C, D_801AA02D, D_801AA02E; extern int D_801AA030; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ +/* !FAKE: gte variant `gte_rtv0tr_m` — memory beyond Sony's `gte_rtv0tr` (a scheduling steer; P36 T5) */ +#define gte_rtv0tr_m() __asm__ __volatile__( \ "nop\n" \ "nop\n" \ "mvmva 1, 0, 0, 0, 0\n" \ : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -3830,15 +3725,15 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) r0 = r0_00 + 2; gte_stsv(r0); @@ -3847,7 +3742,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3855,7 +3750,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(r0); *e = *f; @@ -3863,7 +3758,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -7883,25 +7778,8 @@ extern struct PW8017E6D8 D_801AA6B8; extern u8 D_801AA6BC, D_801AA6BD, D_801AA6BE, D_801AA6C0, D_801AA6C1, D_801AA6C2; extern int D_801AA6C4; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8018451C(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -7946,15 +7824,15 @@ void func_8018451C(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -7963,7 +7841,7 @@ void func_8018451C(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -7971,7 +7849,7 @@ void func_8018451C(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -7979,7 +7857,7 @@ void func_8018451C(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -8264,54 +8142,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §71 sibling: identical shape to func_8018F390 (same TU, this file, D_80126B78/RotTransSV/ * func_80135888/func_8012BDBC/func_80178BF8/func_80172710 idiom) already MATCHED -- only the @@ -8728,30 +8558,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_801856D0"); diff --git a/src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.c b/src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.c index ce800c1579..c67eae3263 100644 --- a/src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.c +++ b/src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80186F94) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186F98) : "memory"); + gte_stlvnl(D_80186F98); pc0 = D_80186F94; pc4 = D_80186F98; diff --git a/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c b/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c index ab3c2176c2..c1af00b5ba 100644 --- a/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c +++ b/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c @@ -3540,95 +3540,17 @@ extern u8 *D_800A5E60; extern u8 D_800A6610[]; extern short D_800B9A02; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -4038,95 +3960,17 @@ extern u8 *D_800A5E60; extern u8 D_800A6610[]; extern short D_800B9A02; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017CAD4(s32 *ctx, s32 *model, s32 mtxsrc) { @@ -4913,25 +4757,8 @@ extern struct PW8017E6D8 D_801B2560; extern u8 D_801B2564, D_801B2565, D_801B2566, D_801B2568, D_801B2569, D_801B256A; extern int D_801B256C; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017DECC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -4976,15 +4803,15 @@ void func_8017DECC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -4993,7 +4820,7 @@ void func_8017DECC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -5001,7 +4828,7 @@ void func_8017DECC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -5009,7 +4836,7 @@ void func_8017DECC(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -10538,30 +10365,6 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_80172710(void); extern s32 func_80178BF8(); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) s32 aF8018A224() __asm__("func_801868AC"); diff --git a/src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.c b/src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.c index a6f16dede3..207fe0778b 100644 --- a/src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.c +++ b/src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801809F4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801809F8) : "memory"); + gte_stlvnl(D_801809F8); pc0 = D_801809F4; pc4 = D_801809F8; diff --git a/src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.c b/src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.c index 0b28e405c0..c1cf4c301a 100644 --- a/src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.c +++ b/src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.c @@ -2694,73 +2694,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2770,45 +2711,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3890,30 +3796,6 @@ extern void func_8004914C(void *a0); extern void func_800491AC(void *a0); extern void RotTransSV(void *a0, void *a1, void *a2); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §37/§124 SELF-axis: the TU declares `extern void func_8017E5D0(void);` (L3765) but the byte-true definition takes a pointer. Define under a private C name bound to the real diff --git a/src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.c b/src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.c index abcb74a64c..29d7702361 100644 --- a/src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.c +++ b/src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F170) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F174) : "memory"); + gte_stlvnl(D_8017F174); pc0 = D_8017F170; pc4 = D_8017F174; diff --git a/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c b/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c index de6e4691ae..76663e08d4 100644 --- a/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c +++ b/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.c @@ -2692,73 +2692,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3451,7 +3357,7 @@ void aF8017D9F0(s32 param_1) { "lw $14, 28(%0)\n" "ctc2 $13, $6\n" "ctc2 $14, $7\n" - : : "r"(p) : "$12", "$13", "$14", "memory"); + : : "r"(p) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotTransMatrix_m) beyond Sony's (P36 T5 gte1) } { diff --git a/src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.c b/src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.c index 11760c93b9..7c790a783a 100644 --- a/src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.c +++ b/src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801804D4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801804D8) : "memory"); + gte_stlvnl(D_801804D8); pc0 = D_801804D4; pc4 = D_801804D8; diff --git a/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c b/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c index 872e1fa2c7..2ec29bbea1 100644 --- a/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c +++ b/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.c @@ -2692,73 +2692,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -4148,7 +4054,7 @@ void aF8017ED54(s32 param_1) { "lw $14, 28(%0)\n" "ctc2 $13, $6\n" "ctc2 $14, $7\n" - : : "r"(p) : "$12", "$13", "$14", "memory"); + : : "r"(p) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotTransMatrix_m) beyond Sony's (P36 T5 gte1) } { diff --git a/src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.c b/src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.c index 1e2e1ea36e..7bf1e29b80 100644 --- a/src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.c +++ b/src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017F02C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017F030) : "memory"); + gte_stlvnl(D_8017F030); pc0 = D_8017F02C; pc4 = D_8017F030; diff --git a/src/ov_SC06_015/ov_SC06_015_jr_8017BEBC.c b/src/ov_SC06_015/ov_SC06_015_jr_8017BEBC.c index b8e637a58f..a3d7b05533 100644 --- a/src/ov_SC06_015/ov_SC06_015_jr_8017BEBC.c +++ b/src/ov_SC06_015/ov_SC06_015_jr_8017BEBC.c @@ -2683,73 +2683,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2759,45 +2700,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -3327,7 +3233,7 @@ void aF8017D8AC(s32 param_1) { "lw $14, 28(%0)\n" "ctc2 $13, $6\n" "ctc2 $14, $7\n" - : : "r"(p) : "$12", "$13", "$14", "memory"); + : : "r"(p) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotTransMatrix_m) beyond Sony's (P36 T5 gte1) } { diff --git a/src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c b/src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c index fcc354a943..0e16715620 100644 --- a/src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c +++ b/src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018543C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80185440) : "memory"); + gte_stlvnl(D_80185440); pc0 = D_8018543C; pc4 = D_80185440; diff --git a/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c b/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c index f1bbdee9c3..7b2cfacc71 100644 --- a/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c +++ b/src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c @@ -2694,73 +2694,14 @@ extern void func_8017C114(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2770,45 +2711,10 @@ extern void func_8017C114(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C8D0__t67f11bf2.h" diff --git a/src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.c b/src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.c index 013dc56f17..ab44a0a58b 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2686,11 +2464,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80193B78) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80193B7C) : "memory"); + gte_stlvnl(D_80193B7C); pc0 = D_80193B78; pc4 = D_80193B7C; diff --git a/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c b/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c index 6fc01b8739..254e5fddab 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c @@ -2683,73 +2683,14 @@ extern void func_8017C090(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2759,45 +2700,10 @@ extern void func_8017C090(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C24C__t67f11bf2.h" @@ -3842,25 +3748,8 @@ extern struct PW8017E6D8 D_801D5450; extern u8 D_801D5454, D_801D5455, D_801D5456, D_801D5458, D_801D5459, D_801D545A; extern int D_801D545C; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017E6D8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -3905,15 +3794,15 @@ void func_8017E6D8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -3922,7 +3811,7 @@ void func_8017E6D8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3930,7 +3819,7 @@ void func_8017E6D8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -3938,7 +3827,7 @@ void func_8017E6D8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -8149,101 +8038,30 @@ void func_80184C74(s32 p) ((void (*)(s32, void *))func_80180354)(p, v18); /* gte_SetRotMatrix */ - __asm__ __volatile__( - "lw $12, 0( %0 );" - "lw $13, 4( %0 );" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8( %0 );" - "lw $13, 12( %0 );" - "lw $14, 16( %0 );" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetRotMatrix(*(s32 *)(p + 0x20) + 0x34); /* column 0: gte_ldclmv / gte_rtir / gte_stclmv */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat); + gte_rtir(); + gte_stclmv((s16 *)mat); /* column 1 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 1); + gte_rtir(); + gte_stclmv((s16 *)mat + 1); /* column 2 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 2); + gte_rtir(); + gte_stclmv((s16 *)mat + 2); /* gte_SetTransMatrix */ - __asm__ __volatile__( - "lw $12, 20( %0 );" - "lw $13, 24( %0 );" - "ctc2 $12, $5;" - "lw $14, 28( %0 );" - "ctc2 $13, $6;" - "ctc2 $14, $7" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetTransMatrix(*(s32 *)(p + 0x20) + 0x34); /* gte_ldlvl / gte_rt / gte_stlvnl on the translation vector */ - __asm__ __volatile__( - "lhu $13, 4( %0 );" - "lhu $12, 0( %0 );" - "sll $13, $13, 16;" - "or $12, $12, $13;" - "mtc2 $12, $0;" - "lwc2 $1, 8( %0 )" - : : "r"(&mat[5]) : "$12", "$13"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 0, 0, 0"); - __asm__ __volatile__( - "swc2 $25, 0( %0 );" - "swc2 $26, 4( %0 );" - "swc2 $27, 8( %0 )" - : : "r"(&mat[5]) : "memory"); + gte_ldlv0(&mat[5]); + gte_rtv0tr(); + gte_stlvnl(&mat[5]); ((void (*)(void *, void *, void *))func_8012F14C)(mat, D_801B5174, v18); func_8018931C(p, v18, 0x282, 2, -0x120, 0); diff --git a/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c b/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c index 53feb7d239..b1b4c0e915 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c @@ -3736,30 +3736,6 @@ extern s32 func_80132EF4(s32 a0, s32 a1); extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6); extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80188B9C(s32 param_1) { @@ -6162,55 +6138,14 @@ s32 func_8018BFA8(s32 out, s32 from, s32 to) { } -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8018C090(void *a0) { @@ -6376,36 +6311,10 @@ void func_8018C334(s32 param_1, s32 param_2) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8018C3F8(void) @@ -6747,87 +6656,6 @@ void func_8018CC88(void *a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) @@ -8504,24 +8332,6 @@ extern u8 D_800A651C[]; extern u8 D_800AE610[]; extern u8 D_800AF630[]; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 );" "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" "lwc2 $4, 0( %2 );" "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" "swc2 $13, 0( %1 );" "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"( r0 ) : "$12", "memory" ) #define DRAW() \ mb = (u8 *)&D_800AF630; \ @@ -8616,36 +8426,10 @@ void func_8018F060(s32 param_1, u32 param_2, u16 *param_3, u32 param_4) { // @class: other // @stuck: none — MATCH (478 ins, relocation-masked byte-identical) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8018F694(void) diff --git a/src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.c b/src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.c index 0c01cc1ee0..58d0fe3ffe 100644 --- a/src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.c +++ b/src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80185600) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80185604) : "memory"); + gte_stlvnl(D_80185604); pc0 = D_80185600; pc4 = D_80185604; diff --git a/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c b/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c index a9effe0d26..4be965393a 100644 --- a/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c +++ b/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.c @@ -2683,73 +2683,14 @@ extern void func_8017C090(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2759,45 +2700,10 @@ extern void func_8017C090(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C24C__t67f11bf2.h" @@ -3200,11 +3106,7 @@ s32 func_8017DA50(s16 *arg) { "nop\n" "sqr 0\n" : : "r"(sp) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(sp) : "memory"); + gte_stlvnl(sp); return !(0x14FFE < sp[0] + sp[1] + sp[2] + 0xFFF9BFFF); } @@ -3237,11 +3139,7 @@ s32 func_8017DAE4(s16 *arg) { "nop\n" "sqr 0\n" : : "r"(sp) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(sp) : "memory"); + gte_stlvnl(sp); return sp[0] + sp[1] + sp[2] > 0xC3FFF; } @@ -4147,101 +4045,30 @@ void func_8017EDE4(s32 p) ((void (*)(s32, void *))func_801842E0)(p, v18); /* gte_SetRotMatrix */ - __asm__ __volatile__( - "lw $12, 0( %0 );" - "lw $13, 4( %0 );" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8( %0 );" - "lw $13, 12( %0 );" - "lw $14, 16( %0 );" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetRotMatrix(*(s32 *)(p + 0x20) + 0x34); /* column 0: gte_ldclmv / gte_rtir / gte_stclmv */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat); + gte_rtir(); + gte_stclmv((s16 *)mat); /* column 1 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 1); + gte_rtir(); + gte_stclmv((s16 *)mat + 1); /* column 2 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 2); + gte_rtir(); + gte_stclmv((s16 *)mat + 2); /* gte_SetTransMatrix */ - __asm__ __volatile__( - "lw $12, 20( %0 );" - "lw $13, 24( %0 );" - "ctc2 $12, $5;" - "lw $14, 28( %0 );" - "ctc2 $13, $6;" - "ctc2 $14, $7" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetTransMatrix(*(s32 *)(p + 0x20) + 0x34); /* gte_ldlvl / gte_rt / gte_stlvnl on the translation vector */ - __asm__ __volatile__( - "lhu $13, 4( %0 );" - "lhu $12, 0( %0 );" - "sll $13, $13, 16;" - "or $12, $12, $13;" - "mtc2 $12, $0;" - "lwc2 $1, 8( %0 )" - : : "r"(&mat[5]) : "$12", "$13"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 0, 0, 0"); - __asm__ __volatile__( - "swc2 $25, 0( %0 );" - "swc2 $26, 4( %0 );" - "swc2 $27, 8( %0 )" - : : "r"(&mat[5]) : "memory"); + gte_ldlv0(&mat[5]); + gte_rtv0tr(); + gte_stlvnl(&mat[5]); ((void (*)(void *, void *, void *))func_8012F14C)(mat, D_8019E9A4, v18); func_8018348C(p, v18, 0x282, 2, -0x120, 0); diff --git a/src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.c b/src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.c index ff40344dd7..e4f4587788 100644 --- a/src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.c +++ b/src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018D8BC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018D8C0) : "memory"); + gte_stlvnl(D_8018D8C0); pc0 = D_8018D8BC; pc4 = D_8018D8C0; diff --git a/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c b/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c index 9869c2528e..d4277a98fd 100644 --- a/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c +++ b/src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c @@ -2686,73 +2686,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2762,45 +2703,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC06_022/ov_SC06_022_jr_80182D08.c b/src/ov_SC06_022/ov_SC06_022_jr_80182D08.c index a37ddf36ae..ad75f968c1 100644 --- a/src/ov_SC06_022/ov_SC06_022_jr_80182D08.c +++ b/src/ov_SC06_022/ov_SC06_022_jr_80182D08.c @@ -2836,101 +2836,30 @@ void func_80182D08(s32 p) ((void (*)(s32, void *))func_80188204)(p, v18); /* gte_SetRotMatrix */ - __asm__ __volatile__( - "lw $12, 0( %0 );" - "lw $13, 4( %0 );" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8( %0 );" - "lw $13, 12( %0 );" - "lw $14, 16( %0 );" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetRotMatrix(*(s32 *)(p + 0x20) + 0x34); /* column 0: gte_ldclmv / gte_rtir / gte_stclmv */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat); + gte_rtir(); + gte_stclmv((s16 *)mat); /* column 1 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 1); + gte_rtir(); + gte_stclmv((s16 *)mat + 1); /* column 2 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 2); + gte_rtir(); + gte_stclmv((s16 *)mat + 2); /* gte_SetTransMatrix */ - __asm__ __volatile__( - "lw $12, 20( %0 );" - "lw $13, 24( %0 );" - "ctc2 $12, $5;" - "lw $14, 28( %0 );" - "ctc2 $13, $6;" - "ctc2 $14, $7" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetTransMatrix(*(s32 *)(p + 0x20) + 0x34); /* gte_ldlvl / gte_rt / gte_stlvnl on the translation vector */ - __asm__ __volatile__( - "lhu $13, 4( %0 );" - "lhu $12, 0( %0 );" - "sll $13, $13, 16;" - "or $12, $12, $13;" - "mtc2 $12, $0;" - "lwc2 $1, 8( %0 )" - : : "r"(&mat[5]) : "$12", "$13"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 0, 0, 0"); - __asm__ __volatile__( - "swc2 $25, 0( %0 );" - "swc2 $26, 4( %0 );" - "swc2 $27, 8( %0 )" - : : "r"(&mat[5]) : "memory"); + gte_ldlv0(&mat[5]); + gte_rtv0tr(); + gte_stlvnl(&mat[5]); ((void (*)(void *, void *, void *))func_8012F14C)(mat, D_801BD0CC, v18); func_801873B0(p, v18, 0x282, 2, -0x120, 0); diff --git a/src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.c b/src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.c index 68f96ed5d2..5f9e70fd26 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018FD94) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018FD98) : "memory"); + gte_stlvnl(D_8018FD98); pc0 = D_8018FD94; pc4 = D_8018FD98; diff --git a/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c b/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c index d760d76853..c957c2c15a 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.c @@ -2685,73 +2685,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2761,45 +2702,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -4131,98 +4037,16 @@ extern s32 D_80193554[]; extern s32 D_80193558[]; extern s32 D_8019355C[]; -#define ec4c_SetRotMatrix(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define ec4c_SetTransMatrix(r0) __asm__ __volatile__ (\ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define ec4c_rotcol(r0) __asm__ __volatile__ ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11;" \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 3, 3, 0;" \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : : "r"( r0 ) : "$12", "$13", "$14", "memory" ) -#define ec4c_rottrans(r0) __asm__ __volatile__ ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 );" \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0;" \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : : "r"( r0 ) : "$12", "$13", "memory" ) -#define ec4c_ldv3(r0, r1, r2) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define ec4c_ldv0(r0) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : : "r"( r0 ) ) -#define ec4c_rtpt() __asm__ __volatile__ ("nop;nop;rtpt") -#define ec4c_rtps() __asm__ __volatile__ ("nop;nop;rtps") -#define ec4c_avsz4() __asm__ __volatile__ ("nop;nop;avsz4") -#define ec4c_stflg(r0) __asm__ __volatile__ ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) -#define ec4c_stsxy3(r0, r1, r2) __asm__ __volatile__ (\ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define ec4c_stsxy(r0) __asm__ __volatile__ ( \ - "swc2 $14, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define ec4c_stotz(r0) __asm__ __volatile__ ( \ - "swc2 $7, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) void func_8017EC4C(s32 param_1) { @@ -4345,15 +4169,15 @@ void func_8017EC4C(s32 param_1) v[1].vz = -ratan2(vec.vx, vec.vy); RotMatrixYXZ((void *)&v[1], (void *)&M); - ec4c_SetRotMatrix(dbase + 0x18); - ec4c_rotcol(&M.m[0][0]); - ec4c_rotcol(&M.m[0][1]); - ec4c_rotcol(&M.m[0][2]); - ec4c_SetTransMatrix(dbase + 0x18); - ec4c_rottrans(&M.t[0]); + gte_SetRotMatrix(dbase + 0x18); + gte_mulcol(&M.m[0][0]); + gte_mulcol(&M.m[0][1]); + gte_mulcol(&M.m[0][2]); + gte_SetTransMatrix(dbase + 0x18); + gte_multrans(&M.t[0]); - ec4c_SetRotMatrix(&M); - ec4c_SetTransMatrix(&M); + gte_SetRotMatrix(&M); + gte_SetTransMatrix(&M); tp = D_80193538; for (i = 0; i < 3; i++) { @@ -4380,17 +4204,17 @@ void func_8017EC4C(s32 param_1) v[3].vy = 0; v[3].vz = -*(u16 *)(param_1 + 0x102); - ec4c_ldv3(&v[0], &v[1], &v[2]); - ec4c_rtpt(); - ec4c_stflg(&g.flag); - ec4c_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); - ec4c_ldv0(&v[3]); - ec4c_rtps(); - ec4c_stflg(&g.flag2); + gte_ldv3(&v[0], &v[1], &v[2]); + gte_rtpt(); + gte_stflg(&g.flag); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv0(&v[3]); + gte_rtps(); + gte_stflg(&g.flag2); g.flag |= g.flag2; - ec4c_stsxy(pkt + 0x20); - ec4c_avsz4(); - ec4c_stotz(&g.otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&g.otz); if ((g.flag & ~0x1000) == 0) { g.otz = g.otz + 1; @@ -6053,25 +5877,8 @@ extern struct PW8017E6D8 D_801E1698; extern u8 D_801E169C, D_801E169D, D_801E169E, D_801E16A0, D_801E16A1, D_801E16A2; extern int D_801E16A4; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_801819B8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -6116,15 +5923,15 @@ void func_801819B8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -6133,7 +5940,7 @@ void func_801819B8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -6141,7 +5948,7 @@ void func_801819B8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -6149,7 +5956,7 @@ void func_801819B8(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; diff --git a/src/ov_SC06_024/ov_SC06_024_jr_801851E0.c b/src/ov_SC06_024/ov_SC06_024_jr_801851E0.c index 35f3a6f9d2..728addbb58 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_801851E0.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_801851E0.c @@ -2876,101 +2876,30 @@ void func_801851E0(s32 p) ((void (*)(s32, void *))func_8018A6DC)(p, v18); /* gte_SetRotMatrix */ - __asm__ __volatile__( - "lw $12, 0( %0 );" - "lw $13, 4( %0 );" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8( %0 );" - "lw $13, 12( %0 );" - "lw $14, 16( %0 );" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetRotMatrix(*(s32 *)(p + 0x20) + 0x34); /* column 0: gte_ldclmv / gte_rtir / gte_stclmv */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat); + gte_rtir(); + gte_stclmv((s16 *)mat); /* column 1 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 1); + gte_rtir(); + gte_stclmv((s16 *)mat + 1); /* column 2 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 2); + gte_rtir(); + gte_stclmv((s16 *)mat + 2); /* gte_SetTransMatrix */ - __asm__ __volatile__( - "lw $12, 20( %0 );" - "lw $13, 24( %0 );" - "ctc2 $12, $5;" - "lw $14, 28( %0 );" - "ctc2 $13, $6;" - "ctc2 $14, $7" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetTransMatrix(*(s32 *)(p + 0x20) + 0x34); /* gte_ldlvl / gte_rt / gte_stlvnl on the translation vector */ - __asm__ __volatile__( - "lhu $13, 4( %0 );" - "lhu $12, 0( %0 );" - "sll $13, $13, 16;" - "or $12, $12, $13;" - "mtc2 $12, $0;" - "lwc2 $1, 8( %0 )" - : : "r"(&mat[5]) : "$12", "$13"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 0, 0, 0"); - __asm__ __volatile__( - "swc2 $25, 0( %0 );" - "swc2 $26, 4( %0 );" - "swc2 $27, 8( %0 )" - : : "r"(&mat[5]) : "memory"); + gte_ldlv0(&mat[5]); + gte_rtv0tr(); + gte_stlvnl(&mat[5]); ((void (*)(void *, void *, void *))func_8012F14C)(mat, D_801BC210, v18); func_80189888(p, v18, 0x282, 2, -0x120, 0); diff --git a/src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.c b/src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.c index 1b6a1ca956..c6435cdb8a 100644 --- a/src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.c +++ b/src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80185238) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018523C) : "memory"); + gte_stlvnl(D_8018523C); pc0 = D_80185238; pc4 = D_8018523C; diff --git a/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c b/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c index 5e62e06925..df7c04b18e 100644 --- a/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c +++ b/src/ov_SC06_025/ov_SC06_025_jr_8017BEBC.c @@ -2692,73 +2692,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2768,45 +2709,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.c b/src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.c index f8ce6ea88f..e0e181dbbe 100644 --- a/src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.c +++ b/src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E578) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E57C) : "memory"); + gte_stlvnl(D_8017E57C); pc0 = D_8017E578; pc4 = D_8017E57C; diff --git a/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c b/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c index d50b86e7e6..7bb6d4ec6b 100644 --- a/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c +++ b/src/ov_SC06_027/ov_SC06_027_jr_8017BEBC.c @@ -2695,73 +2695,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2771,45 +2712,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.c b/src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.c index ef43226c03..a1d339944c 100644 --- a/src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.c +++ b/src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018CB0C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018CB10) : "memory"); + gte_stlvnl(D_8018CB10); pc0 = D_8018CB0C; pc4 = D_8018CB10; diff --git a/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c b/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c index 79cf5e5d97..76ad208db5 100644 --- a/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c +++ b/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c @@ -2846,121 +2846,20 @@ extern void func_8017C8D0(void); * "memory", drops to 1182 ins / ~1085 mismatched. * =========================================================================== */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C954(s32 arg0) { @@ -3209,7 +3108,7 @@ void func_8017C954(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -6044,69 +5943,6 @@ extern s32 D_801DFDB6[]; extern s32 D_801DFDB8[]; extern s32 D_801DFDC8[]; -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldclmv(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtir() __asm__ volatile ("nop;nop;mvmva 1, 0, 3, 3, 0") -#define gte_stclmv(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rt() __asm__ volatile ("nop;nop;mvmva 1, 0, 0, 0, 0") -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) /* The 8-byte per-slot record CALL_80185C6C hands back: tag pointer at +0, * flag halfword at +4, two bytes at +6/+7. ONE pointer variable only: the @@ -6152,7 +5988,7 @@ s32 func_80181DF8(s32 param_1) gte_stclmv(D_801DFDB8); gte_SetTransMatrix(&D_800AF648); gte_ldlv0(&D_801DFDA8); - gte_rt(); + gte_rtv0tr(); gte_stlvnl(D_801DFDC8); gte_SetRotMatrix(D_801DFDB4); gte_SetTransMatrix(D_801DFDB4); @@ -6239,30 +6075,6 @@ extern u8 D_80126B5C; extern u8 D_801DFD94[]; /* §183 TYPE-adopted-TU */ extern s32 D_801DFDB4[]; /* §183 TYPE-adopted-TU */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80182388(s32 a0, s32 a1) { @@ -6358,30 +6170,6 @@ void func_80182388(s32 a0, s32 a1) #include "common.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_801825D8(s32 arg0, s32 arg1) { @@ -6661,7 +6449,7 @@ void func_80182BC8(s32 a0) { "lw $14, 28(%0)\n" "ctc2 $13, $6\n" "ctc2 $14, $7\n" - : : "r"(p) : "$12", "$13", "$14", "memory"); + : : "r"(p) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotTransMatrix_m) beyond Sony's (P36 T5 gte1) } svec1.vx = -0x3E; @@ -7072,62 +6860,12 @@ void func_801834D8(void *a0, s32 a1) { /* ---- PsyQ GTE macro layer — the spellings already banked in this project * (src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c, src/ov_SC06_029/ov_SC06_029_jr_8017C954.c) */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) typedef struct { s16 vx, vy, vz, pad; } SVEC_80183534; typedef struct { u16 vx, vy, vz, pad; } DVEC_80183534; @@ -7273,11 +7011,7 @@ void func_801838BC(short *param_1, short *param_2) "nop\n" "sqr 0\n" : : "r"(v) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(v) : "memory"); + gte_stlvnl(v); t = v[0] + v[2] - 0x4000; if (t > 0) { @@ -7813,69 +7547,6 @@ extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5); extern void func_80184C68(u8 *v, s32 idx); extern void func_80184E6C(s32 *a0, s32 *a1); -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldclmv(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtir() __asm__ volatile ("nop;nop;mvmva 1, 0, 3, 3, 0") -#define gte_stclmv(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14", "memory" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rt() __asm__ volatile ("nop;nop;mvmva 1, 0, 0, 0, 0") -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_80184564(s32 param_1) { @@ -7949,7 +7620,7 @@ void func_80184564(s32 param_1) gte_stclmv((s16 *)m + 2); gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34); gte_ldlv0(&m[5]); - gte_rt(); + gte_rtv0tr(); gte_stlvnl(&m[5]); gte_SetRotMatrix(m); gte_SetTransMatrix(m); @@ -7997,7 +7668,7 @@ void func_80184564(s32 param_1) gte_stclmv((s16 *)m + 2); gte_SetTransMatrix(&D_800AF648); gte_ldlv0(&m[5]); - gte_rt(); + gte_rtv0tr(); gte_stlvnl(&m[5]); gte_SetRotMatrix(m); gte_SetTransMatrix(m); @@ -8052,57 +7723,16 @@ void func_80184564(s32 param_1) * PsyQ's P_TAG `u_long addr:24; u_char len;` bitfield (getaddr/setaddr). */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") /* NEW in this TU (gte_avsz4 / gte_stotz below): every other macro here is a * verbatim copy of the ones already defined above func_8017C954 in * src/ov_SC06_029/ov_SC06_029_jr_8017C954.c, so re-#defining them is an * identical redefinition -- when banking, keep only these two new ones. */ -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_80184C68(u8 *v, s32 idx) { @@ -8434,31 +8064,6 @@ extern void func_800176F0(void *a0); extern Blk20 D_800AE620; extern u8 D_800AF648; -#define gte_ldv0(r0) __asm__ volatile ("lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"(r0)) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ("swc2 $14, 0( %0 )" : : "r"(r0) : "memory") -#define gte_stflg(r0) __asm__ volatile ("cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"(r0) : "$12", "memory") -#define gte_stszotz(r0) __asm__ volatile ("mfc2 $12, $19;" "nop;" "sra $12, $12, 2;" "sw $12, 0( %0 )" : : "r"(r0) : "$12", "memory") -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"(r0) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"(r0) : "$12", "$13", "$14" ) void func_801852E4(s32 arg0) { @@ -8643,53 +8248,12 @@ void func_801856C0(s32 *a0) /* ---- PsyQ GTE inline macros (identical spelling to the TU's file-scope set; * gte_avsz4 / gte_stotz are the two the TU still needs) ---- */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* 8-byte vertex (SVECTOR); the caller hands over four of them. */ typedef struct { s16 vx, vy, vz, pad; } SV_801857A4; @@ -8909,36 +8473,10 @@ typedef struct { s16 vx, vy, vz, pad; } SVec_59F4; /* Same spellings as the TU's own copies (ov_SC06_029_jr_8017C954.c) — kept * #ifndef-free because they are token-identical, but if the banking pass hits a * redefinition just delete this block and use the file's existing macros. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_801859F4(SVec_59F4 *vtx, u32 tx, u32 ty, u32 cx, u16 cy, u8 uw, u8 vh, s32 zoff, s32 depth) diff --git a/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c b/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c index 7bc0893cfa..dab540828a 100644 --- a/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c +++ b/src/ov_SC06_029/ov_SC06_029_jr_801867D0.c @@ -4789,92 +4789,18 @@ typedef struct { s16 vx, vy, vz, pad; } SV_189440; extern s32 func_80047948(s32 a0); extern void RotMatrixZ(s32 r, void *m); -#define gte_ldv0(r0) __asm__ volatile ("lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"(r0)) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_rt() __asm__ volatile ("nop;nop;mvmva 1, 0, 0, 0, 0") -#define gte_rtir() __asm__ volatile ("nop;nop;mvmva 1, 0, 3, 3, 0") -#define gte_stsxy(r0) __asm__ volatile ("swc2 $14, 0( %0 )" : : "r"(r0) : "memory") -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz(r0) __asm__ volatile ("swc2 $7, 0( %0 )" : : "r"(r0) : "memory") -#define gte_stflg(r0) __asm__ volatile ("cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"(r0) : "$12", "memory") -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"(r0) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"(r0) : "$12", "$13", "$14" ) -#define gte_ldclmv(r0) __asm__ volatile ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : : "r"(r0) : "$12", "$13", "$14" ) -#define gte_stclmv(r0) __asm__ volatile ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : : "r"(r0) : "$12", "$13", "$14", "memory" ) -#define gte_ldlvnl(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : : "r"(r0) : "$12", "$13" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : : "r"(r0) : "memory" ) void func_80189440(s32 arg0, SV_189440 *v) { @@ -4929,8 +4855,8 @@ void func_80189440(s32 arg0, SV_189440 *v) gte_rtir(); gte_stclmv(&m.m[0][2]); gte_SetTransMatrix(&D_800AF648); - gte_ldlvnl(&m.t[0]); - gte_rt(); + gte_ldlv0(&m.t[0]); + gte_rtv0tr(); gte_stlvnl(&m.t[0]); gte_SetRotMatrix(&m); gte_SetTransMatrix(&m); diff --git a/src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.c b/src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.c index 507de72e9f..5787669541 100644 --- a/src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.c +++ b/src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801823FC) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182400) : "memory"); + gte_stlvnl(D_80182400); pc0 = D_801823FC; pc4 = D_80182400; diff --git a/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c b/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c index fb3326b9a8..f7fc59dcf7 100644 --- a/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c +++ b/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.c @@ -2691,73 +2691,14 @@ extern void func_8017C114(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2767,45 +2708,10 @@ extern void func_8017C114(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C8D0__t67f11bf2.h" diff --git a/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c b/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c index a6aa94c451..39dd3f7f78 100644 --- a/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c +++ b/src/ov_SC06_030/ov_SC06_030_jr_8017F65C.c @@ -3197,79 +3197,14 @@ typedef struct { /* every macro is suffixed: this TU already #defines the unsuffixed gte_* family * (func_8017C8D0 region), so an unsuffixed name would clash. */ -#define gte_ldv0_80180228(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_80180228(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_80180228() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_80180228() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4_80180228() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy_80180228(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_80180228(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz_80180228(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg_80180228(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix_80180228(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_80180228(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80180228(s32 a0) { @@ -3323,21 +3258,21 @@ void func_80180228(s32 a0) pkt.code = 0x50000000; m = (s32 *)(base + 0x18); - gte_SetRotMatrix_80180228(m); - gte_SetTransMatrix_80180228(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); - gte_ldv3_80180228((SV_80180228 *)(a0 + 0xFC), (SV_80180228 *)(a0 + 0x104), + gte_ldv3((SV_80180228 *)(a0 + 0xFC), (SV_80180228 *)(a0 + 0x104), (SV_80180228 *)(a0 + 0xDC)); - gte_rtpt_80180228(); - gte_stflg_80180228(&flag1); - gte_stsxy3_80180228(&pkt.v[0], &pkt.v[1], &pkt.v[2]); - gte_ldv0_80180228((SV_80180228 *)(a0 + 0xE4)); - gte_rtps_80180228(); - gte_stflg_80180228(&flag2); + gte_rtpt(); + gte_stflg(&flag1); + gte_stsxy3(&pkt.v[0], &pkt.v[1], &pkt.v[2]); + gte_ldv0((SV_80180228 *)(a0 + 0xE4)); + gte_rtps(); + gte_stflg(&flag2); flag1 = flag1 | flag2; - gte_stsxy_80180228(&pkt.v[3]); - gte_avsz4_80180228(); - gte_stotz_80180228(&otz); + gte_stsxy(&pkt.v[3]); + gte_avsz4(); + gte_stotz(&otz); if (otz > 0 && flag1 >= 0 && !((u32)&D_800AE610 < @@ -3945,31 +3880,7 @@ s32 param_1; #include "common.h" -#define gte_SetRotMatrix_80181164(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_80181164(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) /* §202 DEF-SIDE ALIAS: this TU declares `extern void func_80181164(void);` * at :4223 for its live caller func_80181DD4 (:4226). The target's asm @@ -4036,8 +3947,8 @@ void aF80181164(void *a0) s32 k; m = *(s32 *)((s32)a0 + 0x20) + 0x34; - gte_SetRotMatrix_80181164(m); - gte_SetTransMatrix_80181164(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); pv = (void *)sv; pflag = &o.flag; diff --git a/src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.c b/src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.c index c2789eab9a..daf0d217bc 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801938C8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801938CC) : "memory"); + gte_stlvnl(D_801938CC); pc0 = D_801938C8; pc4 = D_801938CC; diff --git a/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c b/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c index 279167ed3b..532e7ecd1a 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.c @@ -2679,73 +2679,14 @@ extern void func_8017C090(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2755,45 +2696,10 @@ extern void func_8017C090(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C24C__t67f11bf2.h" @@ -3800,25 +3706,8 @@ extern struct PW8017E6D8 D_801D0A20; extern u8 D_801D0A24, D_801D0A25, D_801D0A26, D_801D0A28, D_801D0A29, D_801D0A2A; extern int D_801D0A2C; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017E428(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -3863,15 +3752,15 @@ void func_8017E428(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -3880,7 +3769,7 @@ void func_8017E428(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3888,7 +3777,7 @@ void func_8017E428(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -3896,7 +3785,7 @@ void func_8017E428(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -4795,101 +4684,30 @@ void func_8017FA18(s32 p) ((void (*)(s32, void *))func_80184F14)(p, v18); /* gte_SetRotMatrix */ - __asm__ __volatile__( - "lw $12, 0( %0 );" - "lw $13, 4( %0 );" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8( %0 );" - "lw $13, 12( %0 );" - "lw $14, 16( %0 );" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetRotMatrix(*(s32 *)(p + 0x20) + 0x34); /* column 0: gte_ldclmv / gte_rtir / gte_stclmv */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat); + gte_rtir(); + gte_stclmv((s16 *)mat); /* column 1 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 1); + gte_rtir(); + gte_stclmv((s16 *)mat + 1); /* column 2 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 2); + gte_rtir(); + gte_stclmv((s16 *)mat + 2); /* gte_SetTransMatrix */ - __asm__ __volatile__( - "lw $12, 20( %0 );" - "lw $13, 24( %0 );" - "ctc2 $12, $5;" - "lw $14, 28( %0 );" - "ctc2 $13, $6;" - "ctc2 $14, $7" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetTransMatrix(*(s32 *)(p + 0x20) + 0x34); /* gte_ldlvl / gte_rt / gte_stlvnl on the translation vector */ - __asm__ __volatile__( - "lhu $13, 4( %0 );" - "lhu $12, 0( %0 );" - "sll $13, $13, 16;" - "or $12, $12, $13;" - "mtc2 $12, $0;" - "lwc2 $1, 8( %0 )" - : : "r"(&mat[5]) : "$12", "$13"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 0, 0, 0"); - __asm__ __volatile__( - "swc2 $25, 0( %0 );" - "swc2 $26, 4( %0 );" - "swc2 $27, 8( %0 )" - : : "r"(&mat[5]) : "memory"); + gte_ldlv0(&mat[5]); + gte_rtv0tr(); + gte_stlvnl(&mat[5]); ((void (*)(void *, void *, void *))func_8012F14C)(mat, D_801A6604, v18); func_801840C0(p, v18, 0x282, 2, -0x120, 0); diff --git a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c index 432634708a..389c2884b3 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c @@ -3599,31 +3599,9 @@ void func_80183940(s32 param_1) func_80049CAC((s32)&sv, (s32)&mat); /* gte_SetRotMatrix(&mat) -- expansion is byte-for-byte this TU's L6488 */ - __asm__ volatile ( - "lw $12, 0( %0 );" - "lw $13, 4( %0 );" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8( %0 );" - "lw $13, 12( %0 );" - "lw $14, 16( %0 );" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4" - : - : "r"( &mat ) - : "$12", "$13", "$14" ); + gte_SetRotMatrix(&mat); /* gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34) -- this TU's L6502 */ - __asm__ volatile ( - "lw $12, 20( %0 );" - "lw $13, 24( %0 );" - "ctc2 $12, $5;" - "lw $14, 28( %0 );" - "ctc2 $13, $6;" - "ctc2 $14, $7" - : - : "r"( *(s32 *)(param_1 + 0x20) + 0x34 ) - : "$12", "$13", "$14" ); + gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34); RotTransSV(&D_801A6964[0], &b, &flag); RotTransSV(&D_801A6964[1], &c, &flag); @@ -6072,24 +6050,6 @@ s32 func_80187180(s32 out, s32 from, s32 to) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 );" "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" "lwc2 $4, 0( %2 );" "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" "swc2 $13, 0( %1 );" "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"( r0 ) : "$12", "memory" ) extern u8 D_800AF648; void func_80187268(void *a0) @@ -6244,117 +6204,6 @@ void func_8018750C(u8 *param_1, B4_8018750C param_2) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"( r0 ) : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_801875D0(void) @@ -6701,87 +6550,6 @@ void func_80187E60(void *a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz(r0) __asm__ volatile ( \ - "swc2 $19, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #define RD16(p) (((struct { u16 v; } *)(p))->v) #define RW32(p) (((struct { u32 v; } *)(p))->v) @@ -11371,24 +11139,6 @@ extern u8 D_800A651C[]; extern u8 D_800AE610[]; extern u8 D_800AF630[]; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 );" "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" "lwc2 $4, 0( %2 );" "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" "swc2 $13, 0( %1 );" "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"( r0 ) : "$12", "memory" ) #define DRAW() \ mb = (u8 *)&D_800AF630; \ @@ -11480,62 +11230,6 @@ void func_8018EDB0(s32 param_1, u32 param_2, u16 *param_3, u32 param_4) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8018F3E4(void) diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.c b/src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.c index 4f10d0a1af..53eb1dd547 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80191DD8) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80191DDC) : "memory"); + gte_stlvnl(D_80191DDC); pc0 = D_80191DD8; pc4 = D_80191DDC; diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c b/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c index 8d8a4d50ca..ef151282d4 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c @@ -2688,73 +2688,14 @@ extern void func_8017C090(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2764,45 +2705,10 @@ extern void func_8017C090(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C24C__t67f11bf2.h" @@ -4256,25 +4162,8 @@ extern struct PW8017E6D8 D_801D0AE0; extern u8 D_801D0AE4, D_801D0AE5, D_801D0AE6, D_801D0AE8, D_801D0AE9, D_801D0AEA; extern int D_801D0AEC; -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_rt() __asm__ __volatile__( \ - "nop\n" \ - "nop\n" \ - "mvmva 1, 0, 0, 0, 0\n" \ - : : : "memory") -#define gte_stsv(r0) __asm__ __volatile__( \ - "mfc2 $12, $9\n" \ - "mfc2 $13, $10\n" \ - "mfc2 $14, $11\n" \ - "sh $12, 0(%0)\n" \ - "sh $13, 2(%0)\n" \ - "sh $14, 4(%0)\n" \ - : : "r"(r0) : "$12", "$13", "$14", "memory") void func_8017EFB0(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, SVECTOR_8017E6D8 *e, SVECTOR_8017E6D8 *f, s16 *g, struct PW8017E6D8 *h) @@ -4319,15 +4208,15 @@ void func_8017EFB0(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -4336,7 +4225,7 @@ void func_8017EFB0(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rt(); + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -4344,7 +4233,7 @@ void func_8017EFB0(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -4352,7 +4241,7 @@ void func_8017EFB0(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rt(); + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; diff --git a/src/ov_SC06_033/ov_SC06_033_jr_801836FC.c b/src/ov_SC06_033/ov_SC06_033_jr_801836FC.c index b6270fb508..221eec0310 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_801836FC.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_801836FC.c @@ -2903,101 +2903,30 @@ void func_801836FC(s32 p) ((void (*)(s32, void *))func_80188BF8)(p, v18); /* gte_SetRotMatrix */ - __asm__ __volatile__( - "lw $12, 0( %0 );" - "lw $13, 4( %0 );" - "ctc2 $12, $0;" - "ctc2 $13, $1;" - "lw $12, 8( %0 );" - "lw $13, 12( %0 );" - "lw $14, 16( %0 );" - "ctc2 $12, $2;" - "ctc2 $13, $3;" - "ctc2 $14, $4" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetRotMatrix(*(s32 *)(p + 0x20) + 0x34); /* column 0: gte_ldclmv / gte_rtir / gte_stclmv */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat); + gte_rtir(); + gte_stclmv((s16 *)mat); /* column 1 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 1) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 1); + gte_rtir(); + gte_stclmv((s16 *)mat + 1); /* column 2 */ - __asm__ __volatile__( - "lhu $12, 0( %0 );" - "lhu $13, 6( %0 );" - "lhu $14, 12( %0 );" - "mtc2 $12, $9;" - "mtc2 $13, $10;" - "mtc2 $14, $11" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 3, 3, 0"); - __asm__ __volatile__( - "mfc2 $12, $9;" - "mfc2 $13, $10;" - "mfc2 $14, $11;" - "sh $12, 0( %0 );" - "sh $13, 6( %0 );" - "sh $14, 12( %0 )" - : : "r"((s16 *)mat + 2) : "$12", "$13", "$14", "memory"); + gte_ldclmv((s16 *)mat + 2); + gte_rtir(); + gte_stclmv((s16 *)mat + 2); /* gte_SetTransMatrix */ - __asm__ __volatile__( - "lw $12, 20( %0 );" - "lw $13, 24( %0 );" - "ctc2 $12, $5;" - "lw $14, 28( %0 );" - "ctc2 $13, $6;" - "ctc2 $14, $7" - : : "r"(*(s32 *)(p + 0x20) + 0x34) : "$12", "$13", "$14"); + gte_SetTransMatrix(*(s32 *)(p + 0x20) + 0x34); /* gte_ldlvl / gte_rt / gte_stlvnl on the translation vector */ - __asm__ __volatile__( - "lhu $13, 4( %0 );" - "lhu $12, 0( %0 );" - "sll $13, $13, 16;" - "or $12, $12, $13;" - "mtc2 $12, $0;" - "lwc2 $1, 8( %0 )" - : : "r"(&mat[5]) : "$12", "$13"); - __asm__ __volatile__("nop;nop;mvmva 1, 0, 0, 0, 0"); - __asm__ __volatile__( - "swc2 $25, 0( %0 );" - "swc2 $26, 4( %0 );" - "swc2 $27, 8( %0 )" - : : "r"(&mat[5]) : "memory"); + gte_ldlv0(&mat[5]); + gte_rtv0tr(); + gte_stlvnl(&mat[5]); ((void (*)(void *, void *, void *))func_8012F14C)(mat, D_801AF998, v18); func_80187DA4(p, v18, 0x282, 2, -0x120, 0); diff --git a/src/ov_SC06_033/ov_SC06_033_jr_80186574.c b/src/ov_SC06_033/ov_SC06_033_jr_80186574.c index ad4fee44a2..7f7f2b7e89 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_80186574.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_80186574.c @@ -3578,30 +3578,6 @@ void func_80187588(s32 p) { -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) void func_80187624(s32 param_1) { @@ -6147,24 +6123,6 @@ typedef struct { s16 vx, vy, vz, pad; } SVECTOR_8018AD9C; typedef struct { u8 d[4]; } __attribute__((packed, aligned(1))) B4_8018AD9C; typedef struct { u8 d[8]; } __attribute__((packed, aligned(1))) B8_8018AD9C; /* 8 bytes, align 2 */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 )" : : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" "lwc2 $1, 4( %0 );" "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" "lwc2 $4, 0( %2 );" "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" "swc2 $13, 0( %1 );" "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stotz(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" : : "r"( r0 ) : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" "nop;" "sw $12, 0( %0 )" : : "r"( r0 ) : "$12", "memory" ) #define DRAW() \ mb = (u8 *)&D_800AF630; \ @@ -6265,62 +6223,6 @@ void func_8018AD9C(s32 param_1, u32 param_2, u16 *param_3, u32 param_4) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_ldv0(r0) __asm__ __volatile__( \ - "lwc2 $0, 0(%0)\n" \ - "lwc2 $1, 4(%0)\n" \ - : : "r"(r0) : "memory") -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) void func_8018B3D0(void) diff --git a/src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.c b/src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.c index add3bc1af1..cc8f1adfa7 100644 --- a/src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.c +++ b/src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.c @@ -817,46 +817,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -932,114 +892,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2275,80 +2127,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2685,11 +2463,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182C20) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182C24) : "memory"); + gte_stlvnl(D_80182C24); pc0 = D_80182C20; pc4 = D_80182C24; diff --git a/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c b/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c index 28da522a37..f936c6cdb6 100644 --- a/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c +++ b/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.c @@ -2695,121 +2695,20 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f4(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017BEBC(s32 arg0) { @@ -3048,7 +2947,7 @@ void func_8017BEBC(s32 arg0) break; case 0: case 1: - gte_stsxy3_f4(pkt); + gte_stsxy3_f3(pkt); gte_ldv0(vd); gte_rtps(); if (((PolyF4 *)pkt)->x0 > ((PolyF4 *)pkt)->x1) { @@ -3227,95 +3126,17 @@ void func_8017CD9C(s32 a0) { * unfilled load-delay `nop` the target has and a packed schedule does not. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017CDF0__922320b0.h" diff --git a/src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.c b/src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.c index a8bcfc722e..38015466bc 100644 --- a/src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.c +++ b/src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80181AD0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80181AD4) : "memory"); + gte_stlvnl(D_80181AD4); pc0 = D_80181AD0; pc4 = D_80181AD4; diff --git a/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c b/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c index a40bfd666c..eff740a5fa 100644 --- a/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c +++ b/src/ov_SC07_001/ov_SC07_001_jr_8017BEBC.c @@ -2695,73 +2695,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2771,45 +2712,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" @@ -2831,162 +2737,6 @@ void func_8017CD9C(s32 a0) { } -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017CDF0__922320b0.h" @@ -3878,27 +3628,7 @@ void func_8017EDC0(s32 a0, s32 a1, s32 a2, s32 a3) -#define gte_SetRotMatrix(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ __volatile__ ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) extern s16 D_80185034[]; extern void func_8012EC04(s32 a0, s32 a1, void *a2); @@ -4395,102 +4125,20 @@ void func_8017FD88(s32 param_1) * src/shared/engine_core.h DEFINE_func_8012E778 / DEFINE_func_8012EA90 * and src/ov_SC06_024/ov_SC06_024_jr_801851E0.c) -------------------- */ -#define gte_SetRotMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_ldclmv_1(r0) __asm__ __volatile__ ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_rtir_1() __asm__ __volatile__ ( "nop;nop;mvmva 1, 0, 3, 3, 0" ) -#define gte_stclmv_1(r0) __asm__ __volatile__ ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : : "r"( r0 ) : "$12", "$13", "$14", "memory" ) -#define gte_ldlv0_1(r0) __asm__ __volatile__ ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : : "r"( r0 ) : "$12", "$13" ) -#define gte_rt_1() __asm__ __volatile__ ( "nop;nop;mvmva 1, 0, 0, 0, 0" ) -#define gte_stlvnl_1(r0) __asm__ __volatile__ ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define gte_ldv3_1(r0, r1, r2) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0_1(r0) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : : "r"( r0 ) ) -#define gte_rtpt_1() __asm__ __volatile__ ( "nop;nop;rtpt" ) -#define gte_rtps_1() __asm__ __volatile__ ( "nop;nop;rtps" ) -#define gte_avsz4_1() __asm__ __volatile__ ( "nop;nop;avsz4" ) -#define gte_stflg_1(r0) __asm__ __volatile__ ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) -#define gte_stsxy3_1(r0, r1, r2) __asm__ __volatile__ ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define gte_stsxy_1(r0) __asm__ __volatile__ ( \ - "swc2 $14, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define gte_stotz_1(r0) __asm__ __volatile__ ( \ - "swc2 $7, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) /* Billboard POLY_FT4 emitter: rotates the entity matrix (obj->0x20 + 0x34) through the * camera matrix D_800AF648 into a stack MATRIX, projects the four corners, and links the @@ -4534,33 +4182,33 @@ void func_8017FE38(s32 p) ot = (u32)&D_800A6610[d << 14]; r0 = (MTX_8017FE38 *)&D_800AF648; - gte_SetRotMatrix_1(r0); - gte_ldclmv_1(*(s32 *)(p + 0x20) + 0x34); - gte_rtir_1(); - gte_stclmv_1((s16 *)&mat); - gte_ldclmv_1(*(s32 *)(p + 0x20) + 0x36); - gte_rtir_1(); - gte_stclmv_1((s16 *)&mat + 1); - gte_ldclmv_1(*(s32 *)(p + 0x20) + 0x38); - gte_rtir_1(); - gte_stclmv_1((s16 *)&mat + 2); - gte_SetTransMatrix_1(r0); - gte_ldlv0_1(*(s32 *)(p + 0x20) + 0x48); - gte_rt_1(); - gte_stlvnl_1(&mat.t[0]); - gte_SetRotMatrix_1(&mat); - gte_SetTransMatrix_1(&mat); - gte_ldv3_1(va, p + 0xE4, p + 0xEC); - gte_rtpt_1(); - gte_stflg_1(&g.flag); - gte_stsxy3_1(pkt + 8, pkt + 0x10, pkt + 0x18); - gte_ldv0_1(p + 0xF4); - gte_rtps_1(); - gte_stflg_1(&g.flag2); + gte_SetRotMatrix(r0); + gte_ldclmv(*(s32 *)(p + 0x20) + 0x34); + gte_rtir(); + gte_stclmv((s16 *)&mat); + gte_ldclmv(*(s32 *)(p + 0x20) + 0x36); + gte_rtir(); + gte_stclmv((s16 *)&mat + 1); + gte_ldclmv(*(s32 *)(p + 0x20) + 0x38); + gte_rtir(); + gte_stclmv((s16 *)&mat + 2); + gte_SetTransMatrix(r0); + gte_ldlv0(*(s32 *)(p + 0x20) + 0x48); + gte_rtv0tr(); + gte_stlvnl(&mat.t[0]); + gte_SetRotMatrix(&mat); + gte_SetTransMatrix(&mat); + gte_ldv3(va, p + 0xE4, p + 0xEC); + gte_rtpt(); + gte_stflg(&g.flag); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv0(p + 0xF4); + gte_rtps(); + gte_stflg(&g.flag2); g.flag = g.flag | g.flag2; - gte_stsxy_1(pkt + 0x20); - gte_avsz4_1(); - gte_stotz_1(&g.otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&g.otz); if ((g.flag & ~0x1000) == 0) { x = *(u16 *)(p + 0x104); @@ -4671,27 +4319,7 @@ void func_80180350(s32 a0) } -#define gte_SetRotMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) void func_80180404(void *a0) { @@ -4718,8 +4346,8 @@ void func_80180404(void *a0) sv[1] = 0; sv[2] = 0x28; m = *(s32 *)((s32)a0 + 0x20) + 0x34; - gte_SetRotMatrix_1(m); - gte_SetTransMatrix_1(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); for (i = 0; i < 5; i++) { ent = func_8012913C(0x22); if (ent != 0) { @@ -4833,27 +4461,7 @@ last: } -#define gte_SetRotMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) extern void RotTransSV(void *a0, void *a1, void *a2); extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); @@ -4866,8 +4474,8 @@ s32 func_80180754(void *a0, void *a1, void *a2, void *a3) s32 m; m = *(s32 *)((s32)a0 + 0x20) + 0x34; - gte_SetRotMatrix_1(m); - gte_SetTransMatrix_1(m); + gte_SetRotMatrix(m); + gte_SetTransMatrix(m); RotTransSV(a2, sv0, ov); RotTransSV(a3, sv1, ov); return func_80135888(*(s32 *)((s32)a1 + 0x20), diff --git a/src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.c b/src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.c index b19432f4a2..f7b5ae3903 100644 --- a/src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.c +++ b/src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80186D8C) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80186D90) : "memory"); + gte_stlvnl(D_80186D90); pc0 = D_80186D8C; pc4 = D_80186D90; diff --git a/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c b/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c index 12993812dc..4495f00ca0 100644 --- a/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c +++ b/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c @@ -2698,73 +2698,14 @@ extern void func_8017C114(void *a0); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2774,45 +2715,10 @@ extern void func_8017C114(void *a0); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017C8D0__t67f11bf2.h" @@ -3069,74 +2975,15 @@ void func_8017DAEC(void) * same file, so nothing leaks into the rest of the TU. */ -#define gte_ldv0_2(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3_2(r0, r1, r2) __asm__ volatile (\ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_rtps_2() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt_2() __asm__ volatile ("nop;nop;rtpt") -#define gte_avsz4_2() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy_2(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy0_2(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy1_2(r0) __asm__ volatile ( \ - "swc2 $13, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_2(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stotz_2(r0) __asm__ volatile ( \ - "swc2 $7, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stszotz_2(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg_2(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) extern s32 D_8019B7B8; @@ -3218,17 +3065,17 @@ void func_8017DC80(void) poly = (PRIM_8017DC80 *)func_80010A08(0x24); poly->len = 8; /* setlen(poly, 8) */ poly->code = 0x38; /* setcode POLY_G4 */ - gte_ldv3_2(vb, r + 0xC, va); - gte_rtpt_2(); - gte_stflg_2(&flag); - gte_stsxy3_2(&sxy0, &sxy1, &sxy2); - gte_ldv0_2(r + 0x1C); - gte_rtps_2(); - gte_stflg_2(&flag2); + gte_ldv3(vb, r + 0xC, va); + gte_rtpt(); + gte_stflg(&flag); + gte_stsxy3(&sxy0, &sxy1, &sxy2); + gte_ldv0(r + 0x1C); + gte_rtps(); + gte_stflg(&flag2); flag = flag | flag2; - gte_stsxy_2(&sxy3); - gte_avsz4_2(); - gte_stotz_2(&otzr); + gte_stsxy(&sxy3); + gte_avsz4(); + gte_stotz(&otzr); if ((flag & 0xFFFFEFFF) == 0) { otz = otzr; adj = *(s16 *)(c - 0x1F) & 0xC000; @@ -3316,12 +3163,12 @@ void func_8017DC80(void) poly = (PRIM_8017DC80 *)func_80010A08(0x14); poly->len = 4; /* setlen(poly, 4) */ poly->code = 0x50; /* setcode LINE_G2 */ - gte_ldv3_2(vb, va, va); - gte_rtpt_2(); - gte_stsxy0_2(&sxy0); - gte_stsxy1_2(&sxy1); - gte_stflg_2(&flag); - gte_stszotz_2(&otzr); + gte_ldv3(vb, va, va); + gte_rtpt(); + gte_stsxy0(&sxy0); + gte_stsxy1(&sxy1); + gte_stflg(&flag); + gte_stszotz(&otzr); if ((flag & 0xFFFFEFFF) == 0) { otz = otzr; adj = *(s16 *)(c - 0x1F) & 0xC000; @@ -7048,88 +6895,6 @@ LAB_80183FC4: } -#define gte_SetRotMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_SetTransMatrix_1(r0) __asm__ __volatile__ ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_ldclmv_1(r0) __asm__ __volatile__ ( \ - "lhu $12, 0( %0 );" \ - "lhu $13, 6( %0 );" \ - "lhu $14, 12( %0 );" \ - "mtc2 $12, $9;" \ - "mtc2 $13, $10;" \ - "mtc2 $14, $11" \ - : : "r"( r0 ) : "$12", "$13", "$14" ) -#define gte_rtir_1() __asm__ __volatile__ ( "nop;nop;mvmva 1, 0, 3, 3, 0" ) -#define gte_stclmv_1(r0) __asm__ __volatile__ ( \ - "mfc2 $12, $9;" \ - "mfc2 $13, $10;" \ - "mfc2 $14, $11;" \ - "sh $12, 0( %0 );" \ - "sh $13, 6( %0 );" \ - "sh $14, 12( %0 )" \ - : : "r"( r0 ) : "$12", "$13", "$14", "memory" ) -#define gte_ldlv0_1(r0) __asm__ __volatile__ ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : : "r"( r0 ) : "$12", "$13" ) -#define gte_rt_1() __asm__ __volatile__ ( "nop;nop;mvmva 1, 0, 0, 0, 0" ) -#define gte_stlvnl_1(r0) __asm__ __volatile__ ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define gte_ldv3_1(r0, r1, r2) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv0_1(r0) __asm__ __volatile__ ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : : "r"( r0 ) ) -#define gte_rtpt_1() __asm__ __volatile__ ( "nop;nop;rtpt" ) -#define gte_rtps_1() __asm__ __volatile__ ( "nop;nop;rtps" ) -#define gte_avsz4_1() __asm__ __volatile__ ( "nop;nop;avsz4" ) -#define gte_stflg_1(r0) __asm__ __volatile__ ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : : "r"( r0 ) : "$12", "memory" ) -#define gte_stsxy3_1(r0, r1, r2) __asm__ __volatile__ ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : : "r"( r0 ), "r"( r1 ), "r"( r2 ) : "memory" ) -#define gte_stsxy_1(r0) __asm__ __volatile__ ( \ - "swc2 $14, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) -#define gte_stotz_1(r0) __asm__ __volatile__ ( \ - "swc2 $7, 0( %0 )" \ - : : "r"( r0 ) : "memory" ) /* Billboard POLY_FT4 emitter: rotates the entity matrix (obj->0x20 + 0x34) through the * camera matrix D_800AF648 into a stack MATRIX, projects the four corners, and links the @@ -7172,33 +6937,33 @@ void func_80183FE0(s32 p) ot = (u32)&D_800A6610[d << 14]; r0 = (MTX_8017FE38_80183FE0 *)&D_800AF648; - gte_SetRotMatrix_1(r0); - gte_ldclmv_1(*(s32 *)(p + 0x20) + 0x34); - gte_rtir_1(); - gte_stclmv_1((s16 *)&mat); - gte_ldclmv_1(*(s32 *)(p + 0x20) + 0x36); - gte_rtir_1(); - gte_stclmv_1((s16 *)&mat + 1); - gte_ldclmv_1(*(s32 *)(p + 0x20) + 0x38); - gte_rtir_1(); - gte_stclmv_1((s16 *)&mat + 2); - gte_SetTransMatrix_1(r0); - gte_ldlv0_1(*(s32 *)(p + 0x20) + 0x48); - gte_rt_1(); - gte_stlvnl_1(&mat.t[0]); - gte_SetRotMatrix_1(&mat); - gte_SetTransMatrix_1(&mat); - gte_ldv3_1(va, p + 0xE4, p + 0xEC); - gte_rtpt_1(); - gte_stflg_1(&g.flag); - gte_stsxy3_1(pkt + 8, pkt + 0x10, pkt + 0x18); - gte_ldv0_1(p + 0xF4); - gte_rtps_1(); - gte_stflg_1(&g.flag2); + gte_SetRotMatrix(r0); + gte_ldclmv(*(s32 *)(p + 0x20) + 0x34); + gte_rtir(); + gte_stclmv((s16 *)&mat); + gte_ldclmv(*(s32 *)(p + 0x20) + 0x36); + gte_rtir(); + gte_stclmv((s16 *)&mat + 1); + gte_ldclmv(*(s32 *)(p + 0x20) + 0x38); + gte_rtir(); + gte_stclmv((s16 *)&mat + 2); + gte_SetTransMatrix(r0); + gte_ldlv0(*(s32 *)(p + 0x20) + 0x48); + gte_rtv0tr(); + gte_stlvnl(&mat.t[0]); + gte_SetRotMatrix(&mat); + gte_SetTransMatrix(&mat); + gte_ldv3(va, p + 0xE4, p + 0xEC); + gte_rtpt(); + gte_stflg(&g.flag); + gte_stsxy3(pkt + 8, pkt + 0x10, pkt + 0x18); + gte_ldv0(p + 0xF4); + gte_rtps(); + gte_stflg(&g.flag2); g.flag = g.flag | g.flag2; - gte_stsxy_1(pkt + 0x20); - gte_avsz4_1(); - gte_stotz_1(&g.otz); + gte_stsxy(pkt + 0x20); + gte_avsz4(); + gte_stotz(&g.otz); if ((g.flag & ~0x1000) == 0) { x = *(u16 *)(p + 0x104); diff --git a/src/ov_SC07_006/ov_SC07_006.c b/src/ov_SC07_006/ov_SC07_006.c index 8b467cd5f7..2b687b89b3 100644 --- a/src/ov_SC07_006/ov_SC07_006.c +++ b/src/ov_SC07_006/ov_SC07_006.c @@ -1683,46 +1683,6 @@ void func_8012E364(s32 arg0_) } /* dedup: shared engine-core @0x8012e688 (src/shared) */ -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -1807,114 +1767,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in diff --git a/src/ov_SC07_006/ov_SC07_006_jr_80131340.c b/src/ov_SC07_006/ov_SC07_006_jr_80131340.c index 9132631192..ffad330004 100644 --- a/src/ov_SC07_006/ov_SC07_006_jr_80131340.c +++ b/src/ov_SC07_006/ov_SC07_006_jr_80131340.c @@ -1290,80 +1290,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -1703,11 +1629,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8018A9B0) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8018A9B4) : "memory"); + gte_stlvnl(D_8018A9B4); pc0 = D_8018A9B0; pc4 = D_8018A9B4; diff --git a/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c b/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c index f285cc87a6..4473d492e6 100644 --- a/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c +++ b/src/ov_SC07_006/ov_SC07_006_jr_8017BEBC.c @@ -3200,73 +3200,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -3276,45 +3217,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC07_007/ov_SC07_007.c b/src/ov_SC07_007/ov_SC07_007.c index 17db3b3fdc..eb7602e57e 100644 --- a/src/ov_SC07_007/ov_SC07_007.c +++ b/src/ov_SC07_007/ov_SC07_007.c @@ -1540,46 +1540,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -1664,114 +1624,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in diff --git a/src/ov_SC07_007/ov_SC07_007_jr_80131340.c b/src/ov_SC07_007/ov_SC07_007_jr_80131340.c index 1de53b4cbb..868ff2378b 100644 --- a/src/ov_SC07_007/ov_SC07_007_jr_80131340.c +++ b/src/ov_SC07_007/ov_SC07_007_jr_80131340.c @@ -1287,80 +1287,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -1700,11 +1626,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_801834D4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_801834D8) : "memory"); + gte_stlvnl(D_801834D8); pc0 = D_801834D4; pc4 = D_801834D8; diff --git a/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c b/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c index 93e7a09c56..9fb2acbb29 100644 --- a/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c +++ b/src/ov_SC07_007/ov_SC07_007_jr_8017BEBC.c @@ -3193,73 +3193,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -3269,45 +3210,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.c b/src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.c index ee780e342b..96cb788b85 100644 --- a/src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.c +++ b/src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017D8A4) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017D8A8) : "memory"); + gte_stlvnl(D_8017D8A8); pc0 = D_8017D8A4; pc4 = D_8017D8A8; diff --git a/src/ov_SC07_008/ov_SC07_008_jr_8017BEBC.c b/src/ov_SC07_008/ov_SC07_008_jr_8017BEBC.c index d3bc8ec62c..bb081d25d5 100644 --- a/src/ov_SC07_008/ov_SC07_008_jr_8017BEBC.c +++ b/src/ov_SC07_008/ov_SC07_008_jr_8017BEBC.c @@ -2684,73 +2684,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -2760,45 +2701,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.c b/src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.c index da47c55ce5..3ca0897e9f 100644 --- a/src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.c +++ b/src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.c @@ -815,46 +815,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -930,114 +890,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in @@ -2273,80 +2125,6 @@ void func_8013221C(int param_1) #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -2683,11 +2461,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017E348) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017E34C) : "memory"); + gte_stlvnl(D_8017E34C); pc0 = D_8017E348; pc4 = D_8017E34C; diff --git a/src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.c b/src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.c index 1205ff04ea..d882ad58e0 100644 --- a/src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.c +++ b/src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.c @@ -3312,65 +3312,6 @@ void func_8017BE60(void *a0) { #include "../shared/ov/func_8017BEB4.h" -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ "swc2 $13, 12( %0 );" \ @@ -3378,41 +3319,6 @@ void func_8017BE60(void *a0) { : \ : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/ov_SC07_010/ov_SC07_010.c b/src/ov_SC07_010/ov_SC07_010.c index c67c892526..dc9c08da66 100644 --- a/src/ov_SC07_010/ov_SC07_010.c +++ b/src/ov_SC07_010/ov_SC07_010.c @@ -1540,46 +1540,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -1664,114 +1624,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in diff --git a/src/ov_SC07_010/ov_SC07_010_jr_80131340.c b/src/ov_SC07_010/ov_SC07_010_jr_80131340.c index 34410c8e09..321c34f5f7 100644 --- a/src/ov_SC07_010/ov_SC07_010_jr_80131340.c +++ b/src/ov_SC07_010/ov_SC07_010_jr_80131340.c @@ -1292,80 +1292,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -1705,11 +1631,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_80182564) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_80182568) : "memory"); + gte_stlvnl(D_80182568); pc0 = D_80182564; pc4 = D_80182568; diff --git a/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c b/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c index 0f9aabc1b9..a0eba22aea 100644 --- a/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c +++ b/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c @@ -3478,98 +3478,17 @@ typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_avsz3() __asm__ volatile ("nop;nop;avsz3") -#define gte_avsz4() __asm__ volatile ("nop;nop;avsz4") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) void func_8017C59C(s32 arg0) { diff --git a/src/ov_SC07_011/ov_SC07_011.c b/src/ov_SC07_011/ov_SC07_011.c index 81235c389f..1c20e2c2d0 100644 --- a/src/ov_SC07_011/ov_SC07_011.c +++ b/src/ov_SC07_011/ov_SC07_011.c @@ -1540,46 +1540,6 @@ void func_8012E364(s32 arg0_) #include "../shared/ov/func_8012E688.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldlv0(r0) __asm__ volatile ( \ - "lhu $13, 4( %0 );" \ - "lhu $12, 0( %0 );" \ - "sll $13, $13, 16;" \ - "or $12, $12, $13;" \ - "mtc2 $12, $0;" \ - "lwc2 $1, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "$13" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) @@ -1664,114 +1624,6 @@ extern void func_80049CAC(s32 a0, s32 a1); #include "../shared/ov/func_8012EF70.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) /* §37/§124 asm-label alias: the fleet canon declares this `extern void * func_8012EFB8(s32 a0);` inside the DEFINE_func_* macros in diff --git a/src/ov_SC07_011/ov_SC07_011_jr_80131340.c b/src/ov_SC07_011/ov_SC07_011_jr_80131340.c index 5b4b450153..05c3995a8d 100644 --- a/src/ov_SC07_011/ov_SC07_011_jr_80131340.c +++ b/src/ov_SC07_011/ov_SC07_011_jr_80131340.c @@ -1287,80 +1287,6 @@ void func_8013277C(void) { #include "../shared/ov/func_80133060.h" -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetRotMatrix(r0) __asm__ volatile ( \ - "lw $12, 0( %0 );" \ - "lw $13, 4( %0 );" \ - "ctc2 $12, $0;" \ - "ctc2 $13, $1;" \ - "lw $12, 8( %0 );" \ - "lw $13, 12( %0 );" \ - "lw $14, 16( %0 );" \ - "ctc2 $12, $2;" \ - "ctc2 $13, $3;" \ - "ctc2 $14, $4" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_SetTransMatrix(r0) __asm__ volatile ( \ - "lw $12, 20( %0 );" \ - "lw $13, 24( %0 );" \ - "ctc2 $12, $5;" \ - "lw $14, 28( %0 );" \ - "ctc2 $13, $6;" \ - "ctc2 $14, $7" \ - : \ - : "r"( r0 ) \ - : "$12", "$13", "$14" ) -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtv0tr() __asm__ volatile ( \ - "nop;" \ - "nop;" \ - "mvmva 1, 0, 0, 0, 0" \ - : \ - : \ - : "memory" ) -#define gte_stlvnl(r0) __asm__ volatile ( \ - "swc2 $25, 0( %0 );" \ - "swc2 $26, 4( %0 );" \ - "swc2 $27, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) #include "../shared/ov/func_801330E0.h" @@ -1700,11 +1626,7 @@ s32 func_80133CD4(arg0, cmd, base, arr) "nop\n" "sqr 0\n" : : "r"(D_8017EC24) : "$9", "$10", "$11", "memory"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" - "swc2 $26, 4(%0)\n" - "swc2 $27, 8(%0)\n" - : : "r"(D_8017EC28) : "memory"); + gte_stlvnl(D_8017EC28); pc0 = D_8017EC24; pc4 = D_8017EC28; diff --git a/src/ov_SC07_011/ov_SC07_011_jr_8017BEBC.c b/src/ov_SC07_011/ov_SC07_011_jr_8017BEBC.c index fdea4c5e75..d463231547 100644 --- a/src/ov_SC07_011/ov_SC07_011_jr_8017BEBC.c +++ b/src/ov_SC07_011/ov_SC07_011_jr_8017BEBC.c @@ -3193,73 +3193,14 @@ extern void func_8017BEB4(void); * because the later-defined pseudo always has the shorter range. Cookbook §47. */ -#define gte_ldv0(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_ldv3(r0, r1, r2) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 0( %1 );" \ - "lwc2 $3, 4( %1 );" \ - "lwc2 $4, 0( %2 );" \ - "lwc2 $5, 4( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) ) -#define gte_ldv3c(r0) __asm__ volatile ( \ - "lwc2 $0, 0( %0 );" \ - "lwc2 $1, 4( %0 );" \ - "lwc2 $2, 8( %0 );" \ - "lwc2 $3, 12( %0 );" \ - "lwc2 $4, 16( %0 );" \ - "lwc2 $5, 20( %0 )" \ - : \ - : "r"( r0 ) ) -#define gte_rtps() __asm__ volatile ("nop;nop;rtps") -#define gte_rtpt() __asm__ volatile ("nop;nop;rtpt") -#define gte_nclip() __asm__ volatile ("nop;nop;nclip") -#define gte_stsxy(r0) __asm__ volatile ( \ - "swc2 $14, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 0( %1 );" \ - "swc2 $14, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsxy3c(r0) __asm__ volatile ( \ - "swc2 $12, 0( %0 );" \ - "swc2 $13, 4( %0 );" \ - "swc2 $14, 8( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_f3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 12( %0 );" \ - "swc2 $14, 16( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) -#define gte_stsxy3_ft3(r0) __asm__ volatile ( \ - "swc2 $12, 8( %0 );" \ - "swc2 $13, 16( %0 );" \ - "swc2 $14, 24( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #define gte_stsxy3_f4(r0) __asm__ volatile ( \ "swc2 $12, 8( %0 );" \ @@ -3269,45 +3210,10 @@ extern void func_8017BEB4(void); : "r"( r0 ) \ : "memory" ) -#define gte_stsz3(r0, r1, r2) __asm__ volatile ( \ - "swc2 $17, 0( %0 );" \ - "swc2 $18, 0( %1 );" \ - "swc2 $19, 0( %2 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ) \ - : "memory" ) -#define gte_stsz4(r0, r1, r2, r3) __asm__ volatile ( \ - "swc2 $16, 0( %0 );" \ - "swc2 $17, 0( %1 );" \ - "swc2 $18, 0( %2 );" \ - "swc2 $19, 0( %3 )" \ - : \ - : "r"( r0 ), "r"( r1 ), "r"( r2 ), "r"( r3 ) \ - : "memory" ) -#define gte_stszotz(r0) __asm__ volatile ( \ - "mfc2 $12, $19;" \ - "nop;" \ - "sra $12, $12, 2;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stflg(r0) __asm__ volatile ( \ - "cfc2 $12, $31;" \ - "nop;" \ - "sw $12, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "$12", "memory" ) -#define gte_stopz(r0) __asm__ volatile ( \ - "swc2 $24, 0( %0 )" \ - : \ - : "r"( r0 ) \ - : "memory" ) #include "../shared/ov/func_8017BEBC__t67f11bf2.h" diff --git a/src/shared/ov/func_8012EC04.h b/src/shared/ov/func_8012EC04.h index dfe0b09635..5517e82464 100644 --- a/src/shared/ov/func_8012EC04.h +++ b/src/shared/ov/func_8012EC04.h @@ -46,46 +46,37 @@ void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3) "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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) /* column 0: param_3 in place */ __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"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s32)param_3) : "$12", "$13", "$14", "memory"); + : : "r"((s32)param_3) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv((s32)param_3); /* column 1: param_3 + 2 */ c = (s32)param_3 + 2; __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"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv(c); /* column 2: param_3 + 4 */ c = (s32)param_3 + 4; __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"); - __asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"(c) : "$12", "$13", "$14", "memory"); + : : "r"(c) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) + gte_stclmv(c); /* gte_SetTransMatrix(M) — M reloaded */ M = *(s32 *)(param_1 + 0x20) + 0x34; __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"); + : : "r"(M) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) /* gte_ldlv0(param_3->t) ; gte_rt() ; gte_stlvnl(param_3->t) */ c = (s32)param_3 + 0x14; __asm__ __volatile__( @@ -93,8 +84,6 @@ void func_8012EC04(s32 param_1, s32 param_2, s32 *param_3) "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"); - __asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"(c) : "memory"); + : : "r"(c) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) + gte_stlvnl(c); } diff --git a/src/shared/ov/func_80132784.h b/src/shared/ov/func_80132784.h index 1fecda7c0e..4797804208 100644 --- a/src/shared/ov/func_80132784.h +++ b/src/shared/ov/func_80132784.h @@ -74,48 +74,37 @@ __asm__ __volatile__( "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"); + : : "r"((s32 *)(buf + 0x50)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) __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"); -__asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s16 *)(buf + 0x90)) : "$12", "$13", "$14", "memory"); + : : "r"((s16 *)(buf + 0x70)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) +gte_stclmv((s16 *)(buf + 0x90)); __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"); -__asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s16 *)(buf + 0x92)) : "$12", "$13", "$14", "memory"); + : : "r"((s16 *)(buf + 0x72)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) +gte_stclmv((s16 *)(buf + 0x92)); __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"); -__asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s16 *)(buf + 0x94)) : "$12", "$13", "$14", "memory"); + : : "r"((s16 *)(buf + 0x74)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) +gte_stclmv((s16 *)(buf + 0x94)); __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"); + : : "r"((s32 *)(buf + 0x50)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) __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"); -__asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"((s32 *)(buf + 0xA4)) : "memory"); + : : "r"((s16 *)(buf + 0x84)) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) +gte_stlvnl((s32 *)(buf + 0xA4)); } s6 = *((s32 *) (s7 + 0x20)); func_80049CAC(s6 + 0x10, (s32) (buf + 0x70)); @@ -134,48 +123,37 @@ __asm__ __volatile__( "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"); + : : "r"((s32 *)(buf + 0x90)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetRotMatrix_m) beyond Sony's (P36 T5 gte1) __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"); -__asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s16 *)(buf + 0x50)) : "$12", "$13", "$14", "memory"); + : : "r"((s16 *)(buf + 0x70)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) +gte_stclmv((s16 *)(buf + 0x50)); __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"); -__asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s16 *)(buf + 0x52)) : "$12", "$13", "$14", "memory"); + : : "r"((s16 *)(buf + 0x72)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) +gte_stclmv((s16 *)(buf + 0x52)); __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"); -__asm__ __volatile__( - "mfc2 $12, $9\n" "mfc2 $13, $10\n" "mfc2 $14, $11\n" - "sh $12, 0(%0)\n" "sh $13, 6(%0)\n" "sh $14, 12(%0)\n" - : : "r"((s16 *)(buf + 0x54)) : "$12", "$13", "$14", "memory"); + : : "r"((s16 *)(buf + 0x74)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldclmv+gte_rtir_m) beyond Sony's (P36 T5 gte1) +gte_stclmv((s16 *)(buf + 0x54)); __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"); + : : "r"((s32 *)(buf + 0x90)) : "$12", "$13", "$14", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_SetTransMatrix_m) beyond Sony's (P36 T5 gte1) __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"); -__asm__ __volatile__( - "swc2 $25, 0(%0)\n" "swc2 $26, 4(%0)\n" "swc2 $27, 8(%0)\n" - : : "r"((s32 *)(buf + 0x64)) : "memory"); + : : "r"((s16 *)(buf + 0x84)) : "$12", "$13", "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldlv0+gte_rtv0tr_m) beyond Sony's (P36 T5 gte1) +gte_stlvnl((s32 *)(buf + 0x64)); } *((Blk16 *) (s6 + 0x34)) = *((Blk16 *) (buf + 0x50)); *((Blk16 *) (s6 + 0x44)) = *((Blk16 *) (buf + 0x60));