#include "psprecomp/runtime.hpp" #include "generated_units.hpp" #include "vcs_resident_regions.hpp" #include #include #include #include namespace psprecomp { // PSPRECOMP_V811_COMPACT_DISPATCH: 64-slot occupancy masks + per-group base id. static constexpr std::uint64_t kEntryMasks_recomp_unit_0184[64] = { 0x120002040A940921ull, 0x54A04000A004C820ull, 0x1004024808040800ull, 0x0010100090004090ull, 0x4524010081904024ull, 0x0002401060901445ull, 0xA509004012008010ull, 0x281A82400402A05Aull, 0x501200204804C120ull, 0x0040900098240503ull, 0x4004182405115149ull, 0x1024040C120281A2ull, 0x4000830480A01A40ull, 0x54A8008020210000ull, 0x18C06A2004800106ull, 0x0120020802401004ull, 0x1A0900206090140Dull, 0x01042401030480A0ull, 0x1202806424022211ull, 0x0812008204A4010Cull, 0x0408240040852002ull, 0x0348080021200204ull, 0x06090140D2401020ull, 0x418084140D002401ull, 0x0900420048080900ull, 0x18900418084140D0ull, 0x00401200830480A0ull, 0x9014030900102024ull, 0x0200548444802060ull, 0x1004802000200540ull, 0xA019240105112008ull, 0x0041111200830480ull, 0x88A10A10A10A1089ull, 0x20C1202806248020ull, 0x000A004C82012000ull, 0x1200804080054A04ull, 0x4140350000000000ull, 0x0041080240041808ull, 0x2008000240400200ull, 0x2041800009001001ull, 0x4001200204001200ull, 0x202806A891120020ull, 0x40000824890040C1ull, 0x0B444AAD0A149000ull, 0x912008004284004Aull, 0x0888900412448020ull, 0x4010491200855202ull, 0x0000900209248922ull, 0x0400120081602020ull, 0x2451400200824890ull, 0x0C12028061200820ull, 0x2400844040812002ull, 0x4890040C12028068ull, 0x2115520204480082ull, 0x0002400102508900ull, 0x8020855200808020ull, 0x400419048020D284ull, 0x40040C1202806902ull, 0x20A824010A404082ull, 0x8020455240042920ull, 0x0040480201010004ull, 0x018194C240082489ull, 0x114048001030480Aull, 0x050545469A8292A3ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0184[64] = { 1u, 14u, 27u, 35u, 42u, 55u, 67u, 78u, 94u, 106u, 118u, 134u, 148u, 160u, 170u, 184u, 192u, 207u, 218u, 232u, 244u, 254u, 264u, 277u, 290u, 299u, 313u, 323u, 335u, 347u, 355u, 369u, 380u, 397u, 410u, 419u, 430u, 437u, 446u, 452u, 460u, 467u, 481u, 492u, 511u, 523u, 535u, 549u, 561u, 570u, 583u, 595u, 605u, 619u, 633u, 642u, 653u, 667u, 680u, 693u, 707u, 714u, 730u, 742u, }; void recomp_unit_0184_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN // PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,13,22,14 gpr_occ=4835 fpr_occ=352 gpr_total=6206 fpr_total=454 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[14] = aot_fpr_14; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_redispatch_rounds = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x08AE4000u; entry_id = 0u; if (entry_delta < 16364u && (entry_delta & 3u) == 0u) { const std::uint32_t entry_slot = entry_delta >> 2u; const std::uint32_t entry_group = entry_slot >> 6u; const std::uint64_t entry_mask = kEntryMasks_recomp_unit_0184[entry_group]; const std::uint64_t entry_bit = 1ull << (entry_slot & 63u); if ((entry_mask & entry_bit) != 0u) { entry_id = static_cast( kEntryBases_recomp_unit_0184[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_08AE4000; case 2u: goto L_08AE4014; case 3u: goto L_08AE4020; case 4u: goto L_08AE402C; case 5u: goto L_08AE4048; case 6u: goto L_08AE4050; case 7u: goto L_08AE405C; case 8u: goto L_08AE4064; case 9u: goto L_08AE406C; case 10u: goto L_08AE4088; case 11u: goto L_08AE40A4; case 12u: goto L_08AE40E4; case 13u: goto L_08AE40F0; case 14u: goto L_08AE4114; case 15u: goto L_08AE412C; case 16u: goto L_08AE4138; case 17u: goto L_08AE413C; case 18u: goto L_08AE4148; case 19u: goto L_08AE4174; case 20u: goto L_08AE417C; case 21u: goto L_08AE41B8; case 22u: goto L_08AE41D4; case 23u: goto L_08AE41DC; case 24u: goto L_08AE41E8; case 25u: goto L_08AE41F0; case 26u: goto L_08AE41F8; case 27u: goto L_08AE422C; case 28u: goto L_08AE4248; case 29u: goto L_08AE426C; case 30u: goto L_08AE428C; case 31u: goto L_08AE4298; case 32u: goto L_08AE42A4; case 33u: goto L_08AE42C8; case 34u: goto L_08AE42F0; case 35u: goto L_08AE4310; case 36u: goto L_08AE431C; case 37u: goto L_08AE4338; case 38u: goto L_08AE4370; case 39u: goto L_08AE437C; case 40u: goto L_08AE43B0; case 41u: goto L_08AE43D0; case 42u: goto L_08AE4408; case 43u: goto L_08AE4414; case 44u: goto L_08AE4438; case 45u: goto L_08AE4450; case 46u: goto L_08AE445C; case 47u: goto L_08AE4460; case 48u: goto L_08AE447C; case 49u: goto L_08AE44A0; case 50u: goto L_08AE44C8; case 51u: goto L_08AE44D4; case 52u: goto L_08AE44E0; case 53u: goto L_08AE44E8; case 54u: goto L_08AE44F8; case 55u: goto L_08AE4500; case 56u: goto L_08AE4508; case 57u: goto L_08AE4518; case 58u: goto L_08AE4528; case 59u: goto L_08AE4530; case 60u: goto L_08AE4550; case 61u: goto L_08AE455C; case 62u: goto L_08AE4574; case 63u: goto L_08AE4578; case 64u: goto L_08AE4590; case 65u: goto L_08AE45B8; case 66u: goto L_08AE45C4; case 67u: goto L_08AE4610; case 68u: goto L_08AE463C; case 69u: goto L_08AE4664; case 70u: goto L_08AE4670; case 71u: goto L_08AE4698; case 72u: goto L_08AE46C0; case 73u: goto L_08AE46CC; case 74u: goto L_08AE46E0; case 75u: goto L_08AE46E8; case 76u: goto L_08AE46F4; case 77u: goto L_08AE46FC; case 78u: goto L_08AE4704; case 79u: goto L_08AE470C; case 80u: goto L_08AE4710; case 81u: goto L_08AE4718; case 82u: goto L_08AE4734; case 83u: goto L_08AE473C; case 84u: goto L_08AE4744; case 85u: goto L_08AE4768; case 86u: goto L_08AE4798; case 87u: goto L_08AE47A4; case 88u: goto L_08AE47BC; case 89u: goto L_08AE47C4; case 90u: goto L_08AE47CC; case 91u: goto L_08AE47D0; case 92u: goto L_08AE47EC; case 93u: goto L_08AE47F4; case 94u: goto L_08AE4814; case 95u: goto L_08AE4820; case 96u: goto L_08AE4838; case 97u: goto L_08AE483C; case 98u: goto L_08AE4848; case 99u: goto L_08AE486C; case 100u: goto L_08AE4878; case 101u: goto L_08AE4894; case 102u: goto L_08AE48C4; case 103u: goto L_08AE48D0; case 104u: goto L_08AE48F0; case 105u: goto L_08AE48F8; case 106u: goto L_08AE4900; case 107u: goto L_08AE4904; case 108u: goto L_08AE4920; case 109u: goto L_08AE4928; case 110u: goto L_08AE4948; case 111u: goto L_08AE4954; case 112u: goto L_08AE496C; case 113u: goto L_08AE4970; case 114u: goto L_08AE497C; case 115u: goto L_08AE49B0; case 116u: goto L_08AE49BC; case 117u: goto L_08AE49D8; case 118u: goto L_08AE4A00; case 119u: goto L_08AE4A0C; case 120u: goto L_08AE4A18; case 121u: goto L_08AE4A20; case 122u: goto L_08AE4A30; case 123u: goto L_08AE4A38; case 124u: goto L_08AE4A40; case 125u: goto L_08AE4A50; case 126u: goto L_08AE4A60; case 127u: goto L_08AE4A68; case 128u: goto L_08AE4A88; case 129u: goto L_08AE4A94; case 130u: goto L_08AE4AAC; case 131u: goto L_08AE4AB0; case 132u: goto L_08AE4AC8; case 133u: goto L_08AE4AF8; case 134u: goto L_08AE4B04; case 135u: goto L_08AE4B14; case 136u: goto L_08AE4B1C; case 137u: goto L_08AE4B20; case 138u: goto L_08AE4B3C; case 139u: goto L_08AE4B44; case 140u: goto L_08AE4B64; case 141u: goto L_08AE4B70; case 142u: goto L_08AE4B88; case 143u: goto L_08AE4B8C; case 144u: goto L_08AE4BA8; case 145u: goto L_08AE4BC8; case 146u: goto L_08AE4BD4; case 147u: goto L_08AE4BF0; case 148u: goto L_08AE4C18; case 149u: goto L_08AE4C24; case 150u: goto L_08AE4C2C; case 151u: goto L_08AE4C30; case 152u: goto L_08AE4C54; case 153u: goto L_08AE4C5C; case 154u: goto L_08AE4C7C; case 155u: goto L_08AE4C88; case 156u: goto L_08AE4CA0; case 157u: goto L_08AE4CA4; case 158u: goto L_08AE4CBC; case 159u: goto L_08AE4CF8; case 160u: goto L_08AE4D40; case 161u: goto L_08AE4D54; case 162u: goto L_08AE4D74; case 163u: goto L_08AE4D9C; case 164u: goto L_08AE4DCC; case 165u: goto L_08AE4DD4; case 166u: goto L_08AE4DDC; case 167u: goto L_08AE4DE8; case 168u: goto L_08AE4DF0; case 169u: goto L_08AE4DF8; case 170u: goto L_08AE4E04; case 171u: goto L_08AE4E08; case 172u: goto L_08AE4E20; case 173u: goto L_08AE4E5C; case 174u: goto L_08AE4E68; case 175u: goto L_08AE4E94; case 176u: goto L_08AE4EA4; case 177u: goto L_08AE4EAC; case 178u: goto L_08AE4EB4; case 179u: goto L_08AE4EB8; case 180u: goto L_08AE4ED8; case 181u: goto L_08AE4EDC; case 182u: goto L_08AE4EEC; case 183u: goto L_08AE4EF0; case 184u: goto L_08AE4F08; case 185u: goto L_08AE4F30; case 186u: goto L_08AE4F58; case 187u: goto L_08AE4F64; case 188u: goto L_08AE4F8C; case 189u: goto L_08AE4FA4; case 190u: goto L_08AE4FD4; case 191u: goto L_08AE4FE0; case 192u: goto L_08AE5000; case 193u: goto L_08AE5008; case 194u: goto L_08AE500C; case 195u: goto L_08AE5028; case 196u: goto L_08AE5030; case 197u: goto L_08AE5050; case 198u: goto L_08AE505C; case 199u: goto L_08AE5074; case 200u: goto L_08AE5078; case 201u: goto L_08AE5094; case 202u: goto L_08AE50C0; case 203u: goto L_08AE50CC; case 204u: goto L_08AE50E4; case 205u: goto L_08AE50EC; case 206u: goto L_08AE50F0; case 207u: goto L_08AE5114; case 208u: goto L_08AE511C; case 209u: goto L_08AE513C; case 210u: goto L_08AE5148; case 211u: goto L_08AE5160; case 212u: goto L_08AE5164; case 213u: goto L_08AE5180; case 214u: goto L_08AE51A8; case 215u: goto L_08AE51B4; case 216u: goto L_08AE51C8; case 217u: goto L_08AE51E0; case 218u: goto L_08AE5200; case 219u: goto L_08AE5210; case 220u: goto L_08AE5224; case 221u: goto L_08AE5234; case 222u: goto L_08AE5244; case 223u: goto L_08AE5268; case 224u: goto L_08AE5274; case 225u: goto L_08AE5288; case 226u: goto L_08AE5294; case 227u: goto L_08AE5298; case 228u: goto L_08AE52BC; case 229u: goto L_08AE52C4; case 230u: goto L_08AE52E4; case 231u: goto L_08AE52F0; case 232u: goto L_08AE5308; case 233u: goto L_08AE530C; case 234u: goto L_08AE5320; case 235u: goto L_08AE5348; case 236u: goto L_08AE5354; case 237u: goto L_08AE535C; case 238u: goto L_08AE5368; case 239u: goto L_08AE5384; case 240u: goto L_08AE539C; case 241u: goto L_08AE53C4; case 242u: goto L_08AE53D0; case 243u: goto L_08AE53EC; case 244u: goto L_08AE5404; case 245u: goto L_08AE5434; case 246u: goto L_08AE5440; case 247u: goto L_08AE5448; case 248u: goto L_08AE545C; case 249u: goto L_08AE5478; case 250u: goto L_08AE54A8; case 251u: goto L_08AE54B4; case 252u: goto L_08AE54CC; case 253u: goto L_08AE54E8; case 254u: goto L_08AE5508; case 255u: goto L_08AE5524; case 256u: goto L_08AE5554; case 257u: goto L_08AE5560; case 258u: goto L_08AE5574; case 259u: goto L_08AE55AC; case 260u: goto L_08AE55CC; case 261u: goto L_08AE55D8; case 262u: goto L_08AE55E0; case 263u: goto L_08AE55E4; case 264u: goto L_08AE5614; case 265u: goto L_08AE5630; case 266u: goto L_08AE5658; case 267u: goto L_08AE5664; case 268u: goto L_08AE5670; case 269u: goto L_08AE5678; case 270u: goto L_08AE567C; case 271u: goto L_08AE5698; case 272u: goto L_08AE56A0; case 273u: goto L_08AE56C0; case 274u: goto L_08AE56CC; case 275u: goto L_08AE56E4; case 276u: goto L_08AE56E8; case 277u: goto L_08AE5700; case 278u: goto L_08AE5728; case 279u: goto L_08AE5734; case 280u: goto L_08AE5760; case 281u: goto L_08AE5768; case 282u: goto L_08AE576C; case 283u: goto L_08AE5788; case 284u: goto L_08AE5790; case 285u: goto L_08AE57A8; case 286u: goto L_08AE57BC; case 287u: goto L_08AE57DC; case 288u: goto L_08AE57E0; case 289u: goto L_08AE57F8; case 290u: goto L_08AE5820; case 291u: goto L_08AE582C; case 292u: goto L_08AE584C; case 293u: goto L_08AE586C; case 294u: goto L_08AE5878; case 295u: goto L_08AE58A4; case 296u: goto L_08AE58B8; case 297u: goto L_08AE58E0; case 298u: goto L_08AE58EC; case 299u: goto L_08AE5910; case 300u: goto L_08AE5918; case 301u: goto L_08AE591C; case 302u: goto L_08AE5938; case 303u: goto L_08AE5940; case 304u: goto L_08AE5958; case 305u: goto L_08AE596C; case 306u: goto L_08AE598C; case 307u: goto L_08AE5990; case 308u: goto L_08AE59A8; case 309u: goto L_08AE59D0; case 310u: goto L_08AE59DC; case 311u: goto L_08AE59EC; case 312u: goto L_08AE59F0; case 313u: goto L_08AE5A14; case 314u: goto L_08AE5A1C; case 315u: goto L_08AE5A3C; case 316u: goto L_08AE5A48; case 317u: goto L_08AE5A60; case 318u: goto L_08AE5A64; case 319u: goto L_08AE5A7C; case 320u: goto L_08AE5AA4; case 321u: goto L_08AE5AB0; case 322u: goto L_08AE5AD8; case 323u: goto L_08AE5B08; case 324u: goto L_08AE5B14; case 325u: goto L_08AE5B34; case 326u: goto L_08AE5B50; case 327u: goto L_08AE5B80; case 328u: goto L_08AE5B8C; case 329u: goto L_08AE5BA0; case 330u: goto L_08AE5BA4; case 331u: goto L_08AE5BC8; case 332u: goto L_08AE5BD0; case 333u: goto L_08AE5BF0; case 334u: goto L_08AE5BFC; case 335u: goto L_08AE5C14; case 336u: goto L_08AE5C18; case 337u: goto L_08AE5C34; case 338u: goto L_08AE5C5C; case 339u: goto L_08AE5C68; case 340u: goto L_08AE5C78; case 341u: goto L_08AE5C88; case 342u: goto L_08AE5C9C; case 343u: goto L_08AE5CA8; case 344u: goto L_08AE5CB0; case 345u: goto L_08AE5CB8; case 346u: goto L_08AE5CE4; case 347u: goto L_08AE5D18; case 348u: goto L_08AE5D20; case 349u: goto L_08AE5D28; case 350u: goto L_08AE5D54; case 351u: goto L_08AE5D94; case 352u: goto L_08AE5DBC; case 353u: goto L_08AE5DC8; case 354u: goto L_08AE5DF0; case 355u: goto L_08AE5E0C; case 356u: goto L_08AE5E34; case 357u: goto L_08AE5E40; case 358u: goto L_08AE5E50; case 359u: goto L_08AE5E60; case 360u: goto L_08AE5E68; case 361u: goto L_08AE5E80; case 362u: goto L_08AE5EA8; case 363u: goto L_08AE5EB4; case 364u: goto L_08AE5EC0; case 365u: goto L_08AE5ECC; case 366u: goto L_08AE5ED0; case 367u: goto L_08AE5EF4; case 368u: goto L_08AE5EFC; case 369u: goto L_08AE5F1C; case 370u: goto L_08AE5F28; case 371u: goto L_08AE5F40; case 372u: goto L_08AE5F44; case 373u: goto L_08AE5F5C; case 374u: goto L_08AE5F84; case 375u: goto L_08AE5F90; case 376u: goto L_08AE5FA0; case 377u: goto L_08AE5FB0; case 378u: goto L_08AE5FC0; case 379u: goto L_08AE5FD8; case 380u: goto L_08AE6000; case 381u: goto L_08AE600C; case 382u: goto L_08AE601C; case 383u: goto L_08AE6030; case 384u: goto L_08AE6044; case 385u: goto L_08AE604C; case 386u: goto L_08AE6060; case 387u: goto L_08AE6074; case 388u: goto L_08AE607C; case 389u: goto L_08AE6090; case 390u: goto L_08AE60A4; case 391u: goto L_08AE60AC; case 392u: goto L_08AE60C0; case 393u: goto L_08AE60D4; case 394u: goto L_08AE60DC; case 395u: goto L_08AE60EC; case 396u: goto L_08AE60FC; case 397u: goto L_08AE6114; case 398u: goto L_08AE613C; case 399u: goto L_08AE6148; case 400u: goto L_08AE6154; case 401u: goto L_08AE6164; case 402u: goto L_08AE6168; case 403u: goto L_08AE618C; case 404u: goto L_08AE6194; case 405u: goto L_08AE61B4; case 406u: goto L_08AE61C0; case 407u: goto L_08AE61D8; case 408u: goto L_08AE61DC; case 409u: goto L_08AE61F4; case 410u: goto L_08AE6234; case 411u: goto L_08AE6240; case 412u: goto L_08AE6264; case 413u: goto L_08AE627C; case 414u: goto L_08AE6288; case 415u: goto L_08AE628C; case 416u: goto L_08AE6298; case 417u: goto L_08AE62C4; case 418u: goto L_08AE62CC; case 419u: goto L_08AE6308; case 420u: goto L_08AE6324; case 421u: goto L_08AE632C; case 422u: goto L_08AE6338; case 423u: goto L_08AE6340; case 424u: goto L_08AE6348; case 425u: goto L_08AE637C; case 426u: goto L_08AE6398; case 427u: goto L_08AE63BC; case 428u: goto L_08AE63E4; case 429u: goto L_08AE63F0; case 430u: goto L_08AE64A0; case 431u: goto L_08AE64A8; case 432u: goto L_08AE64B0; case 433u: goto L_08AE64B4; case 434u: goto L_08AE64D8; case 435u: goto L_08AE64E0; case 436u: goto L_08AE64F8; case 437u: goto L_08AE650C; case 438u: goto L_08AE652C; case 439u: goto L_08AE6530; case 440u: goto L_08AE6548; case 441u: goto L_08AE6578; case 442u: goto L_08AE6584; case 443u: goto L_08AE65AC; case 444u: goto L_08AE65C0; case 445u: goto L_08AE65D8; case 446u: goto L_08AE6624; case 447u: goto L_08AE6658; case 448u: goto L_08AE6678; case 449u: goto L_08AE6684; case 450u: goto L_08AE66CC; case 451u: goto L_08AE66F4; case 452u: goto L_08AE6700; case 453u: goto L_08AE6730; case 454u: goto L_08AE6760; case 455u: goto L_08AE676C; case 456u: goto L_08AE67BC; case 457u: goto L_08AE67C0; case 458u: goto L_08AE67D8; case 459u: goto L_08AE67F4; case 460u: goto L_08AE6824; case 461u: goto L_08AE6830; case 462u: goto L_08AE6868; case 463u: goto L_08AE6884; case 464u: goto L_08AE68B4; case 465u: goto L_08AE68C0; case 466u: goto L_08AE68F8; case 467u: goto L_08AE6914; case 468u: goto L_08AE6944; case 469u: goto L_08AE6950; case 470u: goto L_08AE6960; case 471u: goto L_08AE6970; case 472u: goto L_08AE697C; case 473u: goto L_08AE698C; case 474u: goto L_08AE6994; case 475u: goto L_08AE699C; case 476u: goto L_08AE69A4; case 477u: goto L_08AE69A8; case 478u: goto L_08AE69CC; case 479u: goto L_08AE69D4; case 480u: goto L_08AE69F4; case 481u: goto L_08AE6A00; case 482u: goto L_08AE6A18; case 483u: goto L_08AE6A1C; case 484u: goto L_08AE6A38; case 485u: goto L_08AE6A60; case 486u: goto L_08AE6A6C; case 487u: goto L_08AE6A7C; case 488u: goto L_08AE6A88; case 489u: goto L_08AE6A94; case 490u: goto L_08AE6AAC; case 491u: goto L_08AE6AF8; case 492u: goto L_08AE6B30; case 493u: goto L_08AE6B3C; case 494u: goto L_08AE6B48; case 495u: goto L_08AE6B50; case 496u: goto L_08AE6B64; case 497u: goto L_08AE6B6C; case 498u: goto L_08AE6B80; case 499u: goto L_08AE6B88; case 500u: goto L_08AE6B8C; case 501u: goto L_08AE6B94; case 502u: goto L_08AE6B9C; case 503u: goto L_08AE6BA4; case 504u: goto L_08AE6BAC; case 505u: goto L_08AE6BB8; case 506u: goto L_08AE6BC8; case 507u: goto L_08AE6BD8; case 508u: goto L_08AE6BE0; case 509u: goto L_08AE6BE4; case 510u: goto L_08AE6BEC; case 511u: goto L_08AE6C04; case 512u: goto L_08AE6C0C; case 513u: goto L_08AE6C18; case 514u: goto L_08AE6C48; case 515u: goto L_08AE6C5C; case 516u: goto L_08AE6C64; case 517u: goto L_08AE6C78; case 518u: goto L_08AE6CAC; case 519u: goto L_08AE6CD4; case 520u: goto L_08AE6CE0; case 521u: goto L_08AE6CF0; case 522u: goto L_08AE6CFC; case 523u: goto L_08AE6D14; case 524u: goto L_08AE6D3C; case 525u: goto L_08AE6D48; case 526u: goto L_08AE6D58; case 527u: goto L_08AE6D64; case 528u: goto L_08AE6D70; case 529u: goto L_08AE6D88; case 530u: goto L_08AE6DB0; case 531u: goto L_08AE6DBC; case 532u: goto L_08AE6DCC; case 533u: goto L_08AE6DDC; case 534u: goto L_08AE6DEC; case 535u: goto L_08AE6E04; case 536u: goto L_08AE6E24; case 537u: goto L_08AE6E30; case 538u: goto L_08AE6E38; case 539u: goto L_08AE6E40; case 540u: goto L_08AE6E48; case 541u: goto L_08AE6E5C; case 542u: goto L_08AE6E84; case 543u: goto L_08AE6E90; case 544u: goto L_08AE6EA0; case 545u: goto L_08AE6EAC; case 546u: goto L_08AE6EB8; case 547u: goto L_08AE6ED0; case 548u: goto L_08AE6EF8; case 549u: goto L_08AE6F04; case 550u: goto L_08AE6F14; case 551u: goto L_08AE6F20; case 552u: goto L_08AE6F2C; case 553u: goto L_08AE6F3C; case 554u: goto L_08AE6F48; case 555u: goto L_08AE6F54; case 556u: goto L_08AE6F60; case 557u: goto L_08AE6F6C; case 558u: goto L_08AE6F84; case 559u: goto L_08AE6FB0; case 560u: goto L_08AE6FBC; case 561u: goto L_08AE7014; case 562u: goto L_08AE7034; case 563u: goto L_08AE7054; case 564u: goto L_08AE7058; case 565u: goto L_08AE7060; case 566u: goto L_08AE707C; case 567u: goto L_08AE70A4; case 568u: goto L_08AE70B0; case 569u: goto L_08AE70E8; case 570u: goto L_08AE7110; case 571u: goto L_08AE711C; case 572u: goto L_08AE712C; case 573u: goto L_08AE7138; case 574u: goto L_08AE7144; case 575u: goto L_08AE715C; case 576u: goto L_08AE7184; case 577u: goto L_08AE71B8; case 578u: goto L_08AE71C0; case 579u: goto L_08AE71D0; case 580u: goto L_08AE71D8; case 581u: goto L_08AE71E8; case 582u: goto L_08AE71F4; case 583u: goto L_08AE7214; case 584u: goto L_08AE722C; case 585u: goto L_08AE7254; case 586u: goto L_08AE7260; case 587u: goto L_08AE7274; case 588u: goto L_08AE7278; case 589u: goto L_08AE729C; case 590u: goto L_08AE72A4; case 591u: goto L_08AE72C4; case 592u: goto L_08AE72D0; case 593u: goto L_08AE72E8; case 594u: goto L_08AE72EC; case 595u: goto L_08AE7304; case 596u: goto L_08AE7334; case 597u: goto L_08AE7340; case 598u: goto L_08AE735C; case 599u: goto L_08AE7378; case 600u: goto L_08AE7398; case 601u: goto L_08AE73A8; case 602u: goto L_08AE73BC; case 603u: goto L_08AE73E8; case 604u: goto L_08AE73F4; case 605u: goto L_08AE740C; case 606u: goto L_08AE7414; case 607u: goto L_08AE7418; case 608u: goto L_08AE743C; case 609u: goto L_08AE7444; case 610u: goto L_08AE7464; case 611u: goto L_08AE7470; case 612u: goto L_08AE7488; case 613u: goto L_08AE748C; case 614u: goto L_08AE74A8; case 615u: goto L_08AE74D0; case 616u: goto L_08AE74DC; case 617u: goto L_08AE74EC; case 618u: goto L_08AE74F8; case 619u: goto L_08AE7504; case 620u: goto L_08AE751C; case 621u: goto L_08AE754C; case 622u: goto L_08AE7558; case 623u: goto L_08AE7568; case 624u: goto L_08AE7584; case 625u: goto L_08AE75A4; case 626u: goto L_08AE75B0; case 627u: goto L_08AE75B8; case 628u: goto L_08AE75C0; case 629u: goto L_08AE75C8; case 630u: goto L_08AE75D0; case 631u: goto L_08AE75E0; case 632u: goto L_08AE75F4; case 633u: goto L_08AE7620; case 634u: goto L_08AE762C; case 635u: goto L_08AE763C; case 636u: goto L_08AE7650; case 637u: goto L_08AE7658; case 638u: goto L_08AE7664; case 639u: goto L_08AE7680; case 640u: goto L_08AE76B8; case 641u: goto L_08AE76C4; case 642u: goto L_08AE7714; case 643u: goto L_08AE773C; case 644u: goto L_08AE775C; case 645u: goto L_08AE7784; case 646u: goto L_08AE7790; case 647u: goto L_08AE7798; case 648u: goto L_08AE77A0; case 649u: goto L_08AE77A8; case 650u: goto L_08AE77BC; case 651u: goto L_08AE77D4; case 652u: goto L_08AE77FC; case 653u: goto L_08AE7808; case 654u: goto L_08AE781C; case 655u: goto L_08AE7824; case 656u: goto L_08AE7830; case 657u: goto L_08AE7838; case 658u: goto L_08AE783C; case 659u: goto L_08AE7854; case 660u: goto L_08AE787C; case 661u: goto L_08AE7888; case 662u: goto L_08AE78A0; case 663u: goto L_08AE78AC; case 664u: goto L_08AE78B0; case 665u: goto L_08AE78C8; case 666u: goto L_08AE78F8; case 667u: goto L_08AE7904; case 668u: goto L_08AE7920; case 669u: goto L_08AE792C; case 670u: goto L_08AE7934; case 671u: goto L_08AE7938; case 672u: goto L_08AE795C; case 673u: goto L_08AE7964; case 674u: goto L_08AE7984; case 675u: goto L_08AE7990; case 676u: goto L_08AE79A8; case 677u: goto L_08AE79AC; case 678u: goto L_08AE79C8; case 679u: goto L_08AE79F8; case 680u: goto L_08AE7A04; case 681u: goto L_08AE7A1C; case 682u: goto L_08AE7A38; case 683u: goto L_08AE7A58; case 684u: goto L_08AE7A64; case 685u: goto L_08AE7A6C; case 686u: goto L_08AE7A80; case 687u: goto L_08AE7AA8; case 688u: goto L_08AE7AB4; case 689u: goto L_08AE7ACC; case 690u: goto L_08AE7AD4; case 691u: goto L_08AE7ADC; case 692u: goto L_08AE7AF4; case 693u: goto L_08AE7B14; case 694u: goto L_08AE7B20; case 695u: goto L_08AE7B2C; case 696u: goto L_08AE7B34; case 697u: goto L_08AE7B48; case 698u: goto L_08AE7B78; case 699u: goto L_08AE7B84; case 700u: goto L_08AE7B90; case 701u: goto L_08AE7B98; case 702u: goto L_08AE7BA0; case 703u: goto L_08AE7BA8; case 704u: goto L_08AE7BB8; case 705u: goto L_08AE7BD4; case 706u: goto L_08AE7BFC; case 707u: goto L_08AE7C08; case 708u: goto L_08AE7C40; case 709u: goto L_08AE7C60; case 710u: goto L_08AE7C84; case 711u: goto L_08AE7CAC; case 712u: goto L_08AE7CB8; case 713u: goto L_08AE7CD8; case 714u: goto L_08AE7D00; case 715u: goto L_08AE7D0C; case 716u: goto L_08AE7D1C; case 717u: goto L_08AE7D28; case 718u: goto L_08AE7D34; case 719u: goto L_08AE7D4C; case 720u: goto L_08AE7D78; case 721u: goto L_08AE7D84; case 722u: goto L_08AE7D98; case 723u: goto L_08AE7D9C; case 724u: goto L_08AE7DA8; case 725u: goto L_08AE7DB0; case 726u: goto L_08AE7DBC; case 727u: goto L_08AE7DC0; case 728u: goto L_08AE7DDC; case 729u: goto L_08AE7DE0; case 730u: goto L_08AE7E04; case 731u: goto L_08AE7E0C; case 732u: goto L_08AE7E2C; case 733u: goto L_08AE7E38; case 734u: goto L_08AE7E50; case 735u: goto L_08AE7E54; case 736u: goto L_08AE7E70; case 737u: goto L_08AE7EAC; case 738u: goto L_08AE7EB8; case 739u: goto L_08AE7ED8; case 740u: goto L_08AE7EE0; case 741u: goto L_08AE7EF0; case 742u: goto L_08AE7F00; case 743u: goto L_08AE7F04; case 744u: goto L_08AE7F14; case 745u: goto L_08AE7F1C; case 746u: goto L_08AE7F24; case 747u: goto L_08AE7F30; case 748u: goto L_08AE7F3C; case 749u: goto L_08AE7F44; case 750u: goto L_08AE7F5C; case 751u: goto L_08AE7F64; case 752u: goto L_08AE7F6C; case 753u: goto L_08AE7F70; case 754u: goto L_08AE7F7C; case 755u: goto L_08AE7F84; case 756u: goto L_08AE7F88; case 757u: goto L_08AE7F98; case 758u: goto L_08AE7FA0; case 759u: goto L_08AE7FA8; case 760u: goto L_08AE7FB8; case 761u: goto L_08AE7FC0; case 762u: goto L_08AE7FC8; case 763u: goto L_08AE7FE0; case 764u: goto L_08AE7FE8; default: if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry"); else ctx.pc = local_pc; AOT_REGCACHE_SYNC_OUT(); return; } } // PSPRECOMP_V813_SHARED_JR_DISPATCH: one dynamic-JR reject/redispatch path per unit. LOCAL_JR_DISPATCH: { const std::uint32_t local_delta_v813 = jump_target - 0x08AE4000u; if (local_delta_v813 >= 16364u || (local_delta_v813 & 3u) != 0u) { ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); // PSPRECOMP_V814_CONTINUATION_RETURN Runtime::AotTailContinuation aot_cont_v814{}; if (rt.take_aot_tail_continuation(jump_target, aot_cont_v814)) { #if defined(__clang__) && defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) [[clang::musttail]] return aot_cont_v814.function( rt, ctx, aot_cont_v814.entry_id, aot_mem); #else aot_cont_v814.function(rt, ctx, aot_cont_v814.entry_id, aot_mem); return; #endif } return; } } local_pc = jump_target; entry_id = 0u; goto LOCAL_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_BLOCK: one scheduler-exact slow boundary per unit. LOCAL_SCHED_BOUNDARY: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); if (local_redispatch_rounds < 7u && rt.continue_generated_local_dispatch(ctx)) { ++local_redispatch_rounds; AOT_REGCACHE_SYNC_IN(); local_transfers = 0u; local_pc = ctx.pc; entry_id = 0u; goto LOCAL_DISPATCH; } return; L_08AE4000: ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE4014u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 2u, 0x08AE4014u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4014u) goto L_08AE4014; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4014: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4020u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4020u) goto L_08AE4020; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4020: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_17 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08AE4048; } goto L_08AE402C; } L_08AE402C: aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (aot_gpr_16 | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08AE4048u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 5u, 0x08AE4048u, 0x0886565Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 331u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 331u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 331u, 0x0886565Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4048u) goto L_08AE4048; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4048: { const bool branch_taken = aot_gpr_17 == 0u; if (branch_taken) { goto L_08AE4088; } goto L_08AE4050; } L_08AE4050: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE405Cu); aot_gpr_5 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 7u, 0x08AE405Cu, 0x08891B8Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE405Cu) goto L_08AE405C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE405C: aot_gpr_31 = (0x08AE4064u); aot_gpr_4 = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 8u, 0x08AE4064u, 0x0889358Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 537u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 537u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 537u, 0x0889358Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4064u) goto L_08AE4064; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4064: { const bool branch_taken = aot_gpr_17 == 0u; if (branch_taken) { goto L_08AE4088; } goto L_08AE406C; } L_08AE406C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08AE4088u); aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4088u) goto L_08AE4088; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4088: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE40A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } aot_gpr_17 = (2236u << 16u); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 4u); aot_gpr_31 = (0x08AE40E4u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 12u, 0x08AE40E4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE40E4u) goto L_08AE40E4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE40E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE40F0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE40F0u) goto L_08AE40F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE40F0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast(4), aot_run_words); aot_fpr_22 = std::bit_cast(aot_run_words[0]); ctx.fpr[20] = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08AE412C; } goto L_08AE4114; } L_08AE4114: aot_gpr_4 = (50042u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE413C; } goto L_08AE412C; } L_08AE412C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08AE4138u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 16u, 0x08AE4138u, 0x088933E8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 514u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 514u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4138u) goto L_08AE4138; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4138: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08AE413C; L_08AE413C: ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AE4148u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0179. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 18u, 0x08AE4148u, 0x08AD0AE4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 160u, aot_mem); #else recomp_unit_0179_entry(rt, ctx, 160u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4148u) goto L_08AE4148; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4148: aot_fpr_13 = ctx.fpr[24] + ctx.fpr[0]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (15395u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 | 55051u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); if (branch_taken) { goto L_08AE41B8; } goto L_08AE4174; } L_08AE4174: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE41B8; } goto L_08AE417C; } L_08AE417C: aot_gpr_4 = (aot_gpr_16 + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE41E8; } goto L_08AE41B8; } L_08AE41B8: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AE41D4u); ctx.gpr[6] = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0207. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 22u, 0x08AE41D4u, 0x08B4196Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 391u, aot_mem); #else recomp_unit_0207_entry(rt, ctx, 391u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE41D4u) goto L_08AE41D4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE41D4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE41F0; } goto L_08AE41DC; } L_08AE41DC: aot_gpr_4 = (0u | 9u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(533), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE41F8; } goto L_08AE41E8; } L_08AE41E8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08AE4248; } goto L_08AE41F0; } L_08AE41F0: aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(533), static_cast(aot_gpr_4)); goto L_08AE41F8; L_08AE41F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 16u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 1u); ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (ctx.gpr[6] != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08AE422C; } goto L_08AE422C; L_08AE422C: aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[2] = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(504), aot_gpr_4); if (branch_taken) { goto L_08AE4248; } goto L_08AE4248; } L_08AE4248: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; aot_gpr_17 = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE426C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE428Cu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 30u, 0x08AE428Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE428Cu) goto L_08AE428C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE428C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4298u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4298u) goto L_08AE4298; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4298: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AE42A4u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0207. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 32u, 0x08AE42A4u, 0x08B41694u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 374u, aot_mem); #else recomp_unit_0207_entry(rt, ctx, 374u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 374u, 0x08B41694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE42A4u) goto L_08AE42A4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE42A4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(533), static_cast(aot_gpr_4)); ctx.gpr[6] = (aot_gpr_5 | 16u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(ctx.gpr[6])); ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (ctx.gpr[6] != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08AE42C8; } goto L_08AE42C8; L_08AE42C8: aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[2] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(504), aot_gpr_4); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE42F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AE4310u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 35u, 0x08AE4310u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4310u) goto L_08AE4310; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4310: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE431Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE431Cu) goto L_08AE431C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE431C: aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(533), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4338: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); aot_gpr_31 = (0x08AE4370u); ctx.gpr[7] = (ctx.gpr[19] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 38u, 0x08AE4370u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4370u) goto L_08AE4370; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4370: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE437Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE437Cu) goto L_08AE437C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE437C: aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE43B0u); ctx.gpr[6] = (0u | 3u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE43B0u) goto L_08AE43B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE43B0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE43D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08AE4408u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 42u, 0x08AE4408u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4408u) goto L_08AE4408; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4408: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4414u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4414u) goto L_08AE4414; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4414: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast(4), aot_run_words); aot_fpr_22 = std::bit_cast(aot_run_words[0]); ctx.fpr[20] = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_17 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08AE4450; } goto L_08AE4438; } L_08AE4438: aot_gpr_4 = (50042u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE4460; } goto L_08AE4450; } L_08AE4450: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08AE445Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 46u, 0x08AE445Cu, 0x088933E8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 514u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 514u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE445Cu) goto L_08AE445C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE445C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08AE4460; L_08AE4460: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08AE447Cu); ctx.gpr[6] = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0185. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 48u, 0x08AE447Cu, 0x08AEBC84u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0185_entry(rt, ctx, 699u, aot_mem); #else recomp_unit_0185_entry(rt, ctx, 699u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0185_entry, 185u, 699u, 0x08AEBC84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE447Cu) goto L_08AE447C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE447C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; aot_gpr_17 = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE44A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE44C8u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 50u, 0x08AE44C8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE44C8u) goto L_08AE44C8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE44C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE44D4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE44D4u) goto L_08AE44D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE44D4: aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08AE4508; } goto L_08AE44E0; } L_08AE44E0: aot_gpr_31 = (0x08AE44E8u); aot_gpr_4 = (aot_gpr_5 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0183. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 53u, 0x08AE44E8u, 0x08AE3E80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0183_entry(rt, ctx, 1011u, aot_mem); #else recomp_unit_0183_entry(rt, ctx, 1011u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 1011u, 0x08AE3E80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE44E8u) goto L_08AE44E8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE44E8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = ctx.gpr[2] != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE4500; } goto L_08AE44F8; } L_08AE44F8: { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (0u | 1u); if (branch_taken) { goto L_08AE4518; } goto L_08AE4500; } L_08AE4500: { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (0u | 0u); if (branch_taken) { goto L_08AE4518; } goto L_08AE4508; } L_08AE4508: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); ctx.gpr[6] = (0u | 0u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); goto L_08AE4518; L_08AE4518: ctx.gpr[6] = (ctx.gpr[6] & 255u); aot_gpr_5 = (ctx.gpr[6] ^ aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE4530; } goto L_08AE4528; } L_08AE4528: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08AE4578; } goto L_08AE4530; } L_08AE4530: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE455C; } goto L_08AE4550; } L_08AE4550: aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE4578; } goto L_08AE455C; } L_08AE455C: aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE4578; } goto L_08AE4574; } L_08AE4574: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE4578; L_08AE4578: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4590: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AE45B8u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 65u, 0x08AE45B8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE45B8u) goto L_08AE45B8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE45B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE45C4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE45C4u) goto L_08AE45C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE45C4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[6] = (17008u << 16u); aot_fpr_13 = std::bit_cast(ctx.gpr[6]); ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (ctx.gpr[6] << 24u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(535), static_cast(ctx.gpr[6])); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(535)))))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); aot_fpr_12 = std::bit_cast(ctx.gpr[6]); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08AE4610; } goto L_08AE4610; L_08AE4610: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[2] = (0u | 0u); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(535), static_cast(aot_gpr_5)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE463C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE4664u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 69u, 0x08AE4664u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4664u) goto L_08AE4664; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4664: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4670u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4670u) goto L_08AE4670; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4670: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(532), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4698: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE46C0u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 72u, 0x08AE46C0u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE46C0u) goto L_08AE46C0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE46C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE46CCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE46CCu) goto L_08AE46CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE46CC: aot_gpr_16 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08AE46E8; } goto L_08AE46E0; } L_08AE46E0: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 1u); if (branch_taken) { goto L_08AE4710; } goto L_08AE46E8; } L_08AE46E8: ctx.gpr[7] = (0u | 18u); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; ctx.gpr[8] = (0u | 17u); if (branch_taken) { goto L_08AE46FC; } goto L_08AE46F4; } L_08AE46F4: { const bool branch_taken = ctx.gpr[6] != ctx.gpr[8]; if (branch_taken) { goto L_08AE4710; } goto L_08AE46FC; } L_08AE46FC: { const bool branch_taken = aot_gpr_4 == ctx.gpr[7]; ctx.gpr[6] = (0u | 17u); if (branch_taken) { goto L_08AE470C; } goto L_08AE4704; } L_08AE4704: { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; if (branch_taken) { goto L_08AE4710; } goto L_08AE470C; } L_08AE470C: aot_gpr_5 = (0u | 1u); goto L_08AE4710; L_08AE4710: { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08AE4744; } goto L_08AE4718; } L_08AE4718: aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(533), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08AE473C; } goto L_08AE4734; } L_08AE4734: aot_gpr_31 = (0x08AE473Cu); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0207. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 83u, 0x08AE473Cu, 0x08B41694u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 374u, aot_mem); #else recomp_unit_0207_entry(rt, ctx, 374u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 374u, 0x08B41694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE473Cu) goto L_08AE473C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE473C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(504), aot_gpr_4); goto L_08AE4744; L_08AE4744: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); ctx.gpr[2] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 | 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4768: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE4798u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 86u, 0x08AE4798u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4798u) goto L_08AE4798; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4798: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE47A4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE47A4u) goto L_08AE47A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE47A4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); ctx.fpr[15] = std::bit_cast(aot_run_words[3]); } aot_gpr_31 = (0x08AE47BCu); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0170. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 88u, 0x08AE47BCu, 0x08AAF8F4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0170_entry(rt, ctx, 788u, aot_mem); #else recomp_unit_0170_entry(rt, ctx, 788u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE47BCu) goto L_08AE47BC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE47BC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE47CC; } goto L_08AE47C4; } L_08AE47C4: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08AE47D0; } goto L_08AE47CC; } L_08AE47CC: aot_gpr_4 = (0u | 0u); goto L_08AE47D0; L_08AE47D0: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE47F4; } goto L_08AE47EC; } L_08AE47EC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE483C; } goto L_08AE47F4; } L_08AE47F4: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE4820; } goto L_08AE4814; } L_08AE4814: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE483C; } goto L_08AE4820; } L_08AE4820: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE483C; } goto L_08AE4838; } L_08AE4838: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE483C; L_08AE483C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE486C; } goto L_08AE4848; } L_08AE4848: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_5 = (49864u << 16u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.fpr[16] = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08AE486Cu); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 99u, 0x08AE486Cu, 0x088637CCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 662u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 662u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 662u, 0x088637CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE486Cu) goto L_08AE486C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE486C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7728))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE4878; } goto L_08AE4878; } L_08AE4878: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4894: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE48C4u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 102u, 0x08AE48C4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE48C4u) goto L_08AE48C4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE48C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE48D0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE48D0u) goto L_08AE48D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE48D0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); ctx.fpr[15] = std::bit_cast(aot_run_words[3]); ctx.fpr[16] = std::bit_cast(aot_run_words[4]); ctx.fpr[17] = std::bit_cast(aot_run_words[5]); } aot_gpr_31 = (0x08AE48F0u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0170. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 104u, 0x08AE48F0u, 0x08AAF984u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0170_entry(rt, ctx, 799u, aot_mem); #else recomp_unit_0170_entry(rt, ctx, 799u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 799u, 0x08AAF984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE48F0u) goto L_08AE48F0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE48F0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE4900; } goto L_08AE48F8; } L_08AE48F8: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08AE4904; } goto L_08AE4900; } L_08AE4900: aot_gpr_4 = (0u | 0u); goto L_08AE4904; L_08AE4904: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE4928; } goto L_08AE4920; } L_08AE4920: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE4970; } goto L_08AE4928; } L_08AE4928: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE4954; } goto L_08AE4948; } L_08AE4948: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE4970; } goto L_08AE4954; } L_08AE4954: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE4970; } goto L_08AE496C; } L_08AE496C: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE4970; L_08AE4970: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE49B0; } goto L_08AE497C; } L_08AE497C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); aot_gpr_4 = (16128u << 16u); ctx.fpr[16] = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); aot_gpr_31 = (0x08AE49B0u); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 115u, 0x08AE49B0u, 0x088637CCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 662u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 662u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 662u, 0x088637CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE49B0u) goto L_08AE49B0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE49B0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7728))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE49BC; } goto L_08AE49BC; } L_08AE49BC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE49D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE4A00u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 118u, 0x08AE4A00u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4A00u) goto L_08AE4A00; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4A00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4A0Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4A0Cu) goto L_08AE4A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4A0C: aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08AE4A40; } goto L_08AE4A18; } L_08AE4A18: aot_gpr_31 = (0x08AE4A20u); aot_gpr_4 = (aot_gpr_5 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0183. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 121u, 0x08AE4A20u, 0x08AE3E80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0183_entry(rt, ctx, 1011u, aot_mem); #else recomp_unit_0183_entry(rt, ctx, 1011u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 1011u, 0x08AE3E80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4A20u) goto L_08AE4A20; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4A20: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE4A38; } goto L_08AE4A30; } L_08AE4A30: { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (0u | 1u); if (branch_taken) { goto L_08AE4A50; } goto L_08AE4A38; } L_08AE4A38: { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (0u | 0u); if (branch_taken) { goto L_08AE4A50; } goto L_08AE4A40; } L_08AE4A40: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); ctx.gpr[6] = (0u | 1u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); goto L_08AE4A50; L_08AE4A50: ctx.gpr[6] = (ctx.gpr[6] & 255u); aot_gpr_5 = (ctx.gpr[6] ^ aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE4A68; } goto L_08AE4A60; } L_08AE4A60: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08AE4AB0; } goto L_08AE4A68; } L_08AE4A68: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE4A94; } goto L_08AE4A88; } L_08AE4A88: aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE4AB0; } goto L_08AE4A94; } L_08AE4A94: aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE4AB0; } goto L_08AE4AAC; } L_08AE4AAC: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE4AB0; L_08AE4AB0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4AC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE4AF8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 133u, 0x08AE4AF8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4AF8u) goto L_08AE4AF8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4AF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4B04u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4B04u) goto L_08AE4B04; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4B04: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08AE4B1C; } goto L_08AE4B14; } L_08AE4B14: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08AE4B20; } goto L_08AE4B1C; } L_08AE4B1C: aot_gpr_4 = (0u | 0u); goto L_08AE4B20; L_08AE4B20: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE4B44; } goto L_08AE4B3C; } L_08AE4B3C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE4B8C; } goto L_08AE4B44; } L_08AE4B44: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE4B70; } goto L_08AE4B64; } L_08AE4B64: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE4B8C; } goto L_08AE4B70; } L_08AE4B70: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE4B8C; } goto L_08AE4B88; } L_08AE4B88: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE4B8C; L_08AE4B8C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4BA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AE4BC8u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 145u, 0x08AE4BC8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4BC8u) goto L_08AE4BC8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4BC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4BD4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4BD4u) goto L_08AE4BD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4BD4: aot_gpr_4 = (0u | 65535u); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(558), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4BF0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE4C18u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 148u, 0x08AE4C18u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4C18u) goto L_08AE4C18; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4C18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); aot_gpr_31 = (0x08AE4C24u); aot_gpr_17 = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 149u, 0x08AE4C24u, 0x0896D734u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 378u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 378u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 378u, 0x0896D734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4C24u) goto L_08AE4C24; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4C24: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE4C30; } goto L_08AE4C2C; } L_08AE4C2C: aot_gpr_17 = (0u | 1u); goto L_08AE4C30; L_08AE4C30: aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); if (branch_taken) { goto L_08AE4C5C; } goto L_08AE4C54; } L_08AE4C54: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); if (branch_taken) { goto L_08AE4CA4; } goto L_08AE4C5C; } L_08AE4C5C: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE4C88; } goto L_08AE4C7C; } L_08AE4C7C: aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE4CA4; } goto L_08AE4C88; } L_08AE4C88: aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE4CA4; } goto L_08AE4CA0; } L_08AE4CA0: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE4CA4; L_08AE4CA4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4CBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[18] = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 12u); aot_gpr_31 = (0x08AE4CF8u); ctx.gpr[7] = (ctx.gpr[19] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 159u, 0x08AE4CF8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4CF8u) goto L_08AE4CF8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4CF8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(20))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(24))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(16))); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast(28), aot_run_words); ctx.gpr[7] = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; ctx.gpr[10] = aot_run_words[3]; ctx.gpr[11] = aot_run_words[4]; } ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (ctx.gpr[9] & 255u); ctx.gpr[10] = (ctx.gpr[10] & 65535u); aot_gpr_31 = (0x08AE4D40u); ctx.gpr[11] = (ctx.gpr[11] & 65535u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 160u, 0x08AE4D40u, 0x08AED448u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 320u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 320u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 320u, 0x08AED448u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4D40u) goto L_08AE4D40; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4D40: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE4D54u); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4D54u) goto L_08AE4D54; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4D54: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4D74: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE4D9Cu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 163u, 0x08AE4D9Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4D9Cu) goto L_08AE4D9C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4D9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_16 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2280u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(2592)); aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE4DDC; } goto L_08AE4DCC; } L_08AE4DCC: aot_gpr_31 = (0x08AE4DD4u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 165u, 0x08AE4DD4u, 0x08AED2F4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 301u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 301u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 301u, 0x08AED2F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4DD4u) goto L_08AE4DD4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4DD4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08AE4E08; } goto L_08AE4DDC; } L_08AE4DDC: aot_gpr_5 = (static_cast(aot_gpr_4) < 101 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08AE4DF8; } goto L_08AE4DE8; } L_08AE4DE8: aot_gpr_31 = (0x08AE4DF0u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 168u, 0x08AE4DF0u, 0x08AED308u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 302u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 302u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 302u, 0x08AED308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4DF0u) goto L_08AE4DF0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4DF0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08AE4E08; } goto L_08AE4DF8; } L_08AE4DF8: aot_gpr_17 = (aot_gpr_4 & 65535u); aot_gpr_31 = (0x08AE4E04u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 170u, 0x08AE4E04u, 0x08AED308u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 302u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 302u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 302u, 0x08AED308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4E04u) goto L_08AE4E04; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4E04: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(44), static_cast(aot_gpr_17)); goto L_08AE4E08; L_08AE4E08: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4E20: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08AE4E5Cu); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 173u, 0x08AE4E5Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4E5Cu) goto L_08AE4E5C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4E5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4E68u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4E68u) goto L_08AE4E68; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4E68: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); ctx.fpr[20] = std::bit_cast(0u); aot_gpr_4 = (17204u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_5 = (17332u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); aot_fpr_22 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08AE4EAC; } goto L_08AE4E94; } L_08AE4E94: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[20])) && aot_fpr_13 == ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE4EAC; } goto L_08AE4EA4; } L_08AE4EA4: { const bool branch_taken = 0u == 0u; { const float fs = ctx.fpr[20]; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } if (branch_taken) { goto L_08AE4EB8; } goto L_08AE4EAC; } L_08AE4EAC: aot_gpr_31 = (0x08AE4EB4u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0088. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 178u, 0x08AE4EB4u, 0x08964540u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0088_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0088_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4EB4u) goto L_08AE4EB4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4EB4: { const float fs = ctx.fpr[0]; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } goto L_08AE4EB8; L_08AE4EB8: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_22 = aot_fpr_22 / aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE4EDC; } goto L_08AE4ED8; } L_08AE4ED8: aot_fpr_22 = aot_fpr_22 + ctx.fpr[24]; goto L_08AE4EDC; L_08AE4EDC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 <= ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE4EF0; } goto L_08AE4EEC; } L_08AE4EEC: aot_fpr_22 = aot_fpr_22 - ctx.fpr[24]; goto L_08AE4EF0; L_08AE4EF0: aot_gpr_5 = (std::bit_cast(aot_fpr_22)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_5); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE4F08u); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4F08u) goto L_08AE4F08; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4F08: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; aot_gpr_17 = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4F30: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE4F58u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 186u, 0x08AE4F58u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4F58u) goto L_08AE4F58; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4F58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4F64u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4F64u) goto L_08AE4F64; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4F64: aot_gpr_4 = (16457u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (17204u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_gpr_31 = (0x08AE4F8Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0170. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 188u, 0x08AE4F8Cu, 0x08AAF8ACu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0170_entry(rt, ctx, 785u, aot_mem); #else recomp_unit_0170_entry(rt, ctx, 785u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4F8Cu) goto L_08AE4F8C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4F8C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE4FA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE4FD4u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 190u, 0x08AE4FD4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4FD4u) goto L_08AE4FD4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE4FD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE4FE0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4FE0u) goto L_08AE4FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4FE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE5008; } goto L_08AE5000; } L_08AE5000: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08AE500C; } goto L_08AE5008; } L_08AE5008: aot_gpr_4 = (0u | 0u); goto L_08AE500C; L_08AE500C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE5030; } goto L_08AE5028; } L_08AE5028: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5078; } goto L_08AE5030; } L_08AE5030: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE505C; } goto L_08AE5050; } L_08AE5050: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5078; } goto L_08AE505C; } L_08AE505C: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE5078; } goto L_08AE5074; } L_08AE5074: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE5078; L_08AE5078: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5094: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE50C0u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 202u, 0x08AE50C0u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE50C0u) goto L_08AE50C0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE50C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE50CCu); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE50CCu) goto L_08AE50CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE50CC: aot_gpr_4 = (2239u << 16u); aot_gpr_17 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); ctx.gpr[6] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AE50E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(22192)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 204u, 0x08AE50E4u, 0x08861FE0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 321u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 321u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 321u, 0x08861FE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE50E4u) goto L_08AE50E4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE50E4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE50F0; } goto L_08AE50EC; } L_08AE50EC: aot_gpr_17 = (0u | 1u); goto L_08AE50F0; L_08AE50F0: aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); if (branch_taken) { goto L_08AE511C; } goto L_08AE5114; } L_08AE5114: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); if (branch_taken) { goto L_08AE5164; } goto L_08AE511C; } L_08AE511C: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE5148; } goto L_08AE513C; } L_08AE513C: aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5164; } goto L_08AE5148; } L_08AE5148: aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE5164; } goto L_08AE5160; } L_08AE5160: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE5164; L_08AE5164: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5180: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE51A8u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 214u, 0x08AE51A8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE51A8u) goto L_08AE51A8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE51A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE51B4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE51B4u) goto L_08AE51B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE51B4: aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); ctx.gpr[6] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AE51C8u); aot_gpr_4 = (aot_gpr_4 + static_cast(22192)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 216u, 0x08AE51C8u, 0x08861F44u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 309u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 309u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 309u, 0x08861F44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE51C8u) goto L_08AE51C8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE51C8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE51E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AE5200u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 218u, 0x08AE5200u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5200u) goto L_08AE5200; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5200: aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_31 = (0x08AE5210u); aot_gpr_4 = (aot_gpr_4 + static_cast(22192)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 219u, 0x08AE5210u, 0x08861FA0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 316u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 316u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 316u, 0x08861FA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5210u) goto L_08AE5210; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5210: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5224: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AE5234u); ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 221u, 0x08AE5234u, 0x0886769Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 827u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 827u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 827u, 0x0886769Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5234u) goto L_08AE5234; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5234: ctx.gpr[2] = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5244: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE5268u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 223u, 0x08AE5268u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5268u) goto L_08AE5268; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5268: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5274u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5274u) goto L_08AE5274; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5274: aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08AE5288u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 225u, 0x08AE5288u, 0x08863D9Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 761u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 761u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 761u, 0x08863D9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5288u) goto L_08AE5288; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5288: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (branch_taken) { goto L_08AE5298; } goto L_08AE5294; } L_08AE5294: aot_gpr_5 = (0u | 1u); goto L_08AE5298; L_08AE5298: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(524))); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[6]); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); { const bool branch_taken = ctx.gpr[6] != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE52C4; } goto L_08AE52BC; } L_08AE52BC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08AE530C; } goto L_08AE52C4; } L_08AE52C4: ctx.gpr[6] = (aot_gpr_4 + static_cast(518)); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); ctx.gpr[8] = (ctx.gpr[7] + static_cast(-1)); aot_mem.aot_direct_store16(ctx.gpr[6] + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(521))); ctx.gpr[7] = (static_cast(ctx.gpr[7]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); if (branch_taken) { goto L_08AE52F0; } goto L_08AE52E4; } L_08AE52E4: aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08AE530C; } goto L_08AE52F0; } L_08AE52F0: aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(521), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(ctx.gpr[6]) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08AE530C; } goto L_08AE5308; } L_08AE5308: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(518), static_cast(0u)); goto L_08AE530C; L_08AE530C: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5320: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5348u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 235u, 0x08AE5348u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5348u) goto L_08AE5348; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5348: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5354u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5354u) goto L_08AE5354; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5354: aot_gpr_31 = (0x08AE535Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 237u, 0x08AE535Cu, 0x0886417Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 24u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 24u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 24u, 0x0886417Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE535Cu) goto L_08AE535C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE535C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE5384; } goto L_08AE5368; } L_08AE5368: aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (aot_gpr_16 | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08AE5384u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 239u, 0x08AE5384u, 0x0886565Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 331u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 331u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 331u, 0x0886565Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5384u) goto L_08AE5384; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5384: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE539C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE53C4u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 241u, 0x08AE53C4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE53C4u) goto L_08AE53C4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE53C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE53D0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE53D0u) goto L_08AE53D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE53D0: aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (aot_gpr_16 | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08AE53ECu); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 243u, 0x08AE53ECu, 0x0886565Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 331u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 331u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 331u, 0x0886565Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE53ECu) goto L_08AE53EC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE53EC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5404: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE5434u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 245u, 0x08AE5434u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5434u) goto L_08AE5434; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5434: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5440u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5440u) goto L_08AE5440; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5440: aot_gpr_31 = (0x08AE5448u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0191. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 247u, 0x08AE5448u, 0x08B021B0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 559u, aot_mem); #else recomp_unit_0191_entry(rt, ctx, 559u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 559u, 0x08B021B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5448u) goto L_08AE5448; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5448: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE545Cu); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE545Cu) goto L_08AE545C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE545C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5478: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE54A8u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 250u, 0x08AE54A8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE54A8u) goto L_08AE54A8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE54A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE54B4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE54B4u) goto L_08AE54B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE54B4: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(565))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_5); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE54CCu); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE54CCu) goto L_08AE54CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE54CC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE54E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AE5508u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 254u, 0x08AE5508u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5508u) goto L_08AE5508; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5508: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); ctx.gpr[2] = (0u | 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5432), std::bit_cast(aot_fpr_12)); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5524: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (0u | 2u); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE5554u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 256u, 0x08AE5554u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5554u) goto L_08AE5554; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5554: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5560u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5560u) goto L_08AE5560; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5560: ctx.gpr[6] = (ctx.gpr[2] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(236))); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(352))); if (branch_taken) { goto L_08AE55AC; } goto L_08AE5574; } L_08AE5574: aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(236), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); aot_gpr_5 = (16448u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (16544u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(852))); aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(208), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(192))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(212), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08AE55CC; } goto L_08AE55AC; } L_08AE55AC: ctx.gpr[7] = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(236), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(852))); aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(208), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(192))); aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(212), std::bit_cast(aot_fpr_12)); goto L_08AE55CC; L_08AE55CC: ctx.gpr[7] = (0u | 1u); if (aot_gpr_5 == ctx.gpr[7]) { aot_gpr_5 = (15363u << 16u); goto L_08AE55E4; } goto L_08AE55D8; L_08AE55D8: { const bool branch_taken = aot_gpr_5 != aot_gpr_16; if (branch_taken) { goto L_08AE5614; } goto L_08AE55E0; } L_08AE55E0: aot_gpr_5 = (15363u << 16u); goto L_08AE55E4; L_08AE55E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(208))); aot_gpr_5 = (aot_gpr_5 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(176))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (17096u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[15]; aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(344), std::bit_cast(aot_fpr_12)); goto L_08AE5614; L_08AE5614: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5630: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5658u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 266u, 0x08AE5658u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5658u) goto L_08AE5658; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5658: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5664u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5664u) goto L_08AE5664; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5664: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(310))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE5678; } goto L_08AE5670; } L_08AE5670: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08AE567C; } goto L_08AE5678; } L_08AE5678: aot_gpr_4 = (0u | 0u); goto L_08AE567C; L_08AE567C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE56A0; } goto L_08AE5698; } L_08AE5698: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE56E8; } goto L_08AE56A0; } L_08AE56A0: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE56CC; } goto L_08AE56C0; } L_08AE56C0: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE56E8; } goto L_08AE56CC; } L_08AE56CC: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE56E8; } goto L_08AE56E4; } L_08AE56E4: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE56E8; L_08AE56E8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5700: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); aot_gpr_31 = (0x08AE5728u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 278u, 0x08AE5728u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5728u) goto L_08AE5728; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5728: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5734u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5734u) goto L_08AE5734; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5734: aot_gpr_4 = (ctx.gpr[2] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_4 = (49016u << 16u); aot_gpr_4 = (aot_gpr_4 | 20972u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE5768; } goto L_08AE5760; } L_08AE5760: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08AE576C; } goto L_08AE5768; } L_08AE5768: aot_gpr_4 = (0u | 0u); goto L_08AE576C; L_08AE576C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE5790; } goto L_08AE5788; } L_08AE5788: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE57E0; } goto L_08AE5790; } L_08AE5790: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); if (branch_taken) { goto L_08AE57BC; } goto L_08AE57A8; } L_08AE57A8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE57E0; } goto L_08AE57BC; } L_08AE57BC: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(ctx.gpr[6]) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE57E0; } goto L_08AE57DC; } L_08AE57DC: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE57E0; L_08AE57E0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE57F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5820u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 290u, 0x08AE5820u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5820u) goto L_08AE5820; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5820: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE582Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE582Cu) goto L_08AE582C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE582C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(680), aot_gpr_4); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE584C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AE586Cu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 293u, 0x08AE586Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE586Cu) goto L_08AE586C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE586C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5878u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5878u) goto L_08AE5878; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5878: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(615)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(615), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(328)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); aot_gpr_5 = (0u | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08AE58A4u); ctx.gpr[6] = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE58A4u) goto L_08AE58A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE58A4: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE58B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); aot_gpr_31 = (0x08AE58E0u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 297u, 0x08AE58E0u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE58E0u) goto L_08AE58E0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE58E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE58ECu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE58ECu) goto L_08AE58EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE58EC: aot_gpr_4 = (ctx.gpr[2] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE5918; } goto L_08AE5910; } L_08AE5910: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08AE591C; } goto L_08AE5918; } L_08AE5918: aot_gpr_4 = (0u | 0u); goto L_08AE591C; L_08AE591C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE5940; } goto L_08AE5938; } L_08AE5938: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5990; } goto L_08AE5940; } L_08AE5940: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); if (branch_taken) { goto L_08AE596C; } goto L_08AE5958; } L_08AE5958: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5990; } goto L_08AE596C; } L_08AE596C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(ctx.gpr[6]) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE5990; } goto L_08AE598C; } L_08AE598C: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE5990; L_08AE5990: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE59A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE59D0u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 309u, 0x08AE59D0u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE59D0u) goto L_08AE59D0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE59D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE59DCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE59DCu) goto L_08AE59DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE59DC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1653)))))); aot_gpr_5 = (aot_gpr_5 & 7u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08AE59F0; } goto L_08AE59EC; } L_08AE59EC: aot_gpr_4 = (0u | 1u); goto L_08AE59F0; L_08AE59F0: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE5A1C; } goto L_08AE5A14; } L_08AE5A14: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5A64; } goto L_08AE5A1C; } L_08AE5A1C: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE5A48; } goto L_08AE5A3C; } L_08AE5A3C: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5A64; } goto L_08AE5A48; } L_08AE5A48: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE5A64; } goto L_08AE5A60; } L_08AE5A60: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE5A64; L_08AE5A64: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5A7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5AA4u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 320u, 0x08AE5AA4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5AA4u) goto L_08AE5AA4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5AA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5AB0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5AB0u) goto L_08AE5AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5AB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(636), std::bit_cast(aot_fpr_12)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5AD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE5B08u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 323u, 0x08AE5B08u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5B08u) goto L_08AE5B08; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5B08: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5B14u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5B14u) goto L_08AE5B14; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5B14: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(636))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AE5B34u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[7]); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5B34u) goto L_08AE5B34; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5B34: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5B50: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AE5B80u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 327u, 0x08AE5B80u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5B80u) goto L_08AE5B80; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5B80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5B8Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5B8Cu) goto L_08AE5B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5B8C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1653)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 7u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08AE5BA4; } goto L_08AE5BA0; } L_08AE5BA0: aot_gpr_4 = (0u | 1u); goto L_08AE5BA4; L_08AE5BA4: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE5BD0; } goto L_08AE5BC8; } L_08AE5BC8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5C18; } goto L_08AE5BD0; } L_08AE5BD0: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE5BFC; } goto L_08AE5BF0; } L_08AE5BF0: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5C18; } goto L_08AE5BFC; } L_08AE5BFC: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE5C18; } goto L_08AE5C14; } L_08AE5C14: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE5C18; L_08AE5C18: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5C34: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), aot_gpr_31); aot_gpr_31 = (0x08AE5C5Cu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 338u, 0x08AE5C5Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5C5Cu) goto L_08AE5C5C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5C5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5C68u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5C68u) goto L_08AE5C68; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5C68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_4 = (static_cast(aot_gpr_4) < 256 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08AE5C88; } goto L_08AE5C78; } L_08AE5C78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (static_cast(aot_gpr_4) < 256 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE5C9C; } goto L_08AE5C88; } L_08AE5C88: aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); ctx.gpr[6] = (0u | 256u); aot_gpr_31 = (0x08AE5C9Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(16864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5C9Cu) goto L_08AE5C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5C9C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); if (aot_gpr_4 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); goto L_08AE5CB8; } goto L_08AE5CA8; L_08AE5CA8: aot_gpr_31 = (0x08AE5CB0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 333u, 0x08B656D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5CB0u) goto L_08AE5CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5CB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); goto L_08AE5CB8; L_08AE5CB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); aot_gpr_4 = (aot_gpr_29 + static_cast(260)); aot_gpr_31 = (0x08AE5CE4u); ctx.gpr[8] = (0u | 255u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5CE4u) goto L_08AE5CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5CE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(548), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(549), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(550), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(551), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); if (aot_gpr_4 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); goto L_08AE5D28; } goto L_08AE5D18; L_08AE5D18: aot_gpr_31 = (0x08AE5D20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 333u, 0x08B656D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5D20u) goto L_08AE5D20; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5D20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); goto L_08AE5D28; L_08AE5D28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); aot_gpr_4 = (aot_gpr_29 + static_cast(268)); aot_gpr_31 = (0x08AE5D54u); ctx.gpr[8] = (0u | 255u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5D54u) goto L_08AE5D54; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5D54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(268))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(552), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); ctx.gpr[2] = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(553), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(554), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(555), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(276), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(288)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5D94: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5DBCu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 352u, 0x08AE5DBCu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5DBCu) goto L_08AE5DBC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5DBC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5DC8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5DC8u) goto L_08AE5DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5DC8: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1653)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); ctx.gpr[6] = (0u + static_cast(-8)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_gpr_5 = (aot_gpr_5 & 7u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_31 = (0x08AE5DF0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1653), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5DF0u) goto L_08AE5DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5DF0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1656), ctx.gpr[2]); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5E0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5E34u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 356u, 0x08AE5E34u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5E34u) goto L_08AE5E34; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5E34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5E40u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5E40u) goto L_08AE5E40; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5E40: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(616)))))); if (branch_taken) { goto L_08AE5E60; } goto L_08AE5E50; } L_08AE5E50: ctx.gpr[6] = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(616), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5E68; } goto L_08AE5E60; } L_08AE5E60: aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(616), static_cast(aot_gpr_4)); goto L_08AE5E68; L_08AE5E68: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5E80: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5EA8u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 362u, 0x08AE5EA8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5EA8u) goto L_08AE5EA8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5EA8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5EB4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5EB4u) goto L_08AE5EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5EB4: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08AE5EC0u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5EC0u) goto L_08AE5EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5EC0: aot_gpr_4 = (0u | 4u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; if (branch_taken) { goto L_08AE5ED0; } goto L_08AE5ECC; } L_08AE5ECC: aot_gpr_17 = (0u | 1u); goto L_08AE5ED0; L_08AE5ED0: aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); if (branch_taken) { goto L_08AE5EFC; } goto L_08AE5EF4; } L_08AE5EF4: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); if (branch_taken) { goto L_08AE5F44; } goto L_08AE5EFC; } L_08AE5EFC: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE5F28; } goto L_08AE5F1C; } L_08AE5F1C: aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE5F44; } goto L_08AE5F28; } L_08AE5F28: aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE5F44; } goto L_08AE5F40; } L_08AE5F40: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE5F44; L_08AE5F44: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5F5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE5F84u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 374u, 0x08AE5F84u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5F84u) goto L_08AE5F84; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE5F84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE5F90u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5F90u) goto L_08AE5F90; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5F90: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); if (branch_taken) { goto L_08AE5FB0; } goto L_08AE5FA0; } L_08AE5FA0: ctx.gpr[6] = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_08AE5FC0; } goto L_08AE5FB0; } L_08AE5FB0: ctx.gpr[6] = (49152u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); goto L_08AE5FC0; L_08AE5FC0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE5FD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[6] = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE6000u); ctx.gpr[7] = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 380u, 0x08AE6000u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6000u) goto L_08AE6000; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6000: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE600Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE600Cu) goto L_08AE600C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE600C: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); if (branch_taken) { goto L_08AE6030; } goto L_08AE601C; } L_08AE601C: ctx.gpr[6] = (1024u << 16u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); if (branch_taken) { goto L_08AE6044; } goto L_08AE6030; } L_08AE6030: ctx.gpr[6] = (64512u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); goto L_08AE6044; L_08AE6044: { const bool branch_taken = ctx.gpr[6] == 0u; if (branch_taken) { goto L_08AE6060; } goto L_08AE604C; } L_08AE604C: ctx.gpr[6] = (2048u << 16u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08AE6074; } goto L_08AE6060; } L_08AE6060: ctx.gpr[6] = (63488u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); goto L_08AE6074; L_08AE6074: { const bool branch_taken = ctx.gpr[6] == 0u; if (branch_taken) { goto L_08AE6090; } goto L_08AE607C; } L_08AE607C: ctx.gpr[6] = (4u << 16u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); if (branch_taken) { goto L_08AE60A4; } goto L_08AE6090; } L_08AE6090: ctx.gpr[6] = (65532u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_08AE60A4; L_08AE60A4: { const bool branch_taken = ctx.gpr[6] == 0u; if (branch_taken) { goto L_08AE60C0; } goto L_08AE60AC; } L_08AE60AC: ctx.gpr[6] = (4096u << 16u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (branch_taken) { goto L_08AE60D4; } goto L_08AE60C0; } L_08AE60C0: ctx.gpr[6] = (61440u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); goto L_08AE60D4; L_08AE60D4: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_08AE60EC; } goto L_08AE60DC; } L_08AE60DC: ctx.gpr[6] = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_08AE60FC; } goto L_08AE60EC; } L_08AE60EC: ctx.gpr[6] = (57344u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); goto L_08AE60FC; L_08AE60FC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6114: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AE613Cu); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 398u, 0x08AE613Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE613Cu) goto L_08AE613C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE613C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6148u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6148u) goto L_08AE6148; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6148: aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08AE6168; } goto L_08AE6154; } L_08AE6154: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(236))); aot_gpr_5 = (aot_gpr_5 & 256u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08AE6168; } goto L_08AE6164; } L_08AE6164: aot_gpr_4 = (0u | 1u); goto L_08AE6168; L_08AE6168: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE6194; } goto L_08AE618C; } L_08AE618C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE61DC; } goto L_08AE6194; } L_08AE6194: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE61C0; } goto L_08AE61B4; } L_08AE61B4: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE61DC; } goto L_08AE61C0; } L_08AE61C0: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE61DC; } goto L_08AE61D8; } L_08AE61D8: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE61DC; L_08AE61DC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE61F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } aot_gpr_17 = (2236u << 16u); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 4u); aot_gpr_31 = (0x08AE6234u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 410u, 0x08AE6234u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6234u) goto L_08AE6234; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6234: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6240u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6240u) goto L_08AE6240; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6240: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast(4), aot_run_words); aot_fpr_22 = std::bit_cast(aot_run_words[0]); ctx.fpr[20] = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08AE627C; } goto L_08AE6264; } L_08AE6264: aot_gpr_4 = (50042u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE628C; } goto L_08AE627C; } L_08AE627C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08AE6288u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 414u, 0x08AE6288u, 0x088933E8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 514u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 514u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6288u) goto L_08AE6288; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6288: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08AE628C; L_08AE628C: ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AE6298u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0179. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 416u, 0x08AE6298u, 0x08AD0AE4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 160u, aot_mem); #else recomp_unit_0179_entry(rt, ctx, 160u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6298u) goto L_08AE6298; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6298: aot_fpr_13 = ctx.fpr[24] + ctx.fpr[0]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (15395u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 | 55051u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < 12 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 14 ? 1u : 0u); if (branch_taken) { goto L_08AE6308; } goto L_08AE62C4; } L_08AE62C4: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE6308; } goto L_08AE62CC; } L_08AE62CC: aot_gpr_4 = (aot_gpr_16 + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE6338; } goto L_08AE6308; } L_08AE6308: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_13)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AE6324u); ctx.gpr[6] = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0207. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 420u, 0x08AE6324u, 0x08B4196Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 391u, aot_mem); #else recomp_unit_0207_entry(rt, ctx, 391u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6324u) goto L_08AE6324; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6324: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE6340; } goto L_08AE632C; } L_08AE632C: aot_gpr_4 = (0u | 13u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(533), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE6348; } goto L_08AE6338; } L_08AE6338: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08AE6398; } goto L_08AE6340; } L_08AE6340: aot_gpr_4 = (0u | 12u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(533), static_cast(aot_gpr_4)); goto L_08AE6348; L_08AE6348: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 16u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 1u); ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (ctx.gpr[6] != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08AE637C; } goto L_08AE637C; L_08AE637C: aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[2] = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(504), aot_gpr_4); if (branch_taken) { goto L_08AE6398; } goto L_08AE6398; } L_08AE6398: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; aot_gpr_17 = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE63BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); aot_gpr_31 = (0x08AE63E4u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 428u, 0x08AE63E4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE63E4u) goto L_08AE63E4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE63E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE63F0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE63F0u) goto L_08AE63F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE63F0: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<12u, 4u>(vfpu_value); } aot_gpr_5 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(1840)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<36u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<37u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<38u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<39u, 4u>(vfpu_value); } aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_vtfm_ct<14u, 36u, 12u, 4u, 3u>(); ctx.vfpu_ctrl[1u] = 0x00000000u; ctx.execute_vfpu_vcmp_ct<14u, 0u, 4u, 3u>(); aot_gpr_5 = (0u + static_cast(0)); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_08AE64A8; } goto L_08AE64A0; } L_08AE64A0: aot_gpr_5 = (0u + static_cast(1)); aot_gpr_5 = (aot_gpr_5 & 255u); goto L_08AE64A8; L_08AE64A8: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08AE64B4; } goto L_08AE64B0; } L_08AE64B0: aot_gpr_4 = (0u | 1u); goto L_08AE64B4; L_08AE64B4: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE64E0; } goto L_08AE64D8; } L_08AE64D8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE6530; } goto L_08AE64E0; } L_08AE64E0: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); { const bool branch_taken = ctx.gpr[7] == 0u; aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); if (branch_taken) { goto L_08AE650C; } goto L_08AE64F8; } L_08AE64F8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE6530; } goto L_08AE650C; } L_08AE650C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_4 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE6530; } goto L_08AE652C; } L_08AE652C: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE6530; L_08AE6530: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6548: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 4u); aot_gpr_31 = (0x08AE6578u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 441u, 0x08AE6578u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6578u) goto L_08AE6578; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6578: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6584u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6584u) goto L_08AE6584; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6584: aot_gpr_16 = (ctx.gpr[2] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); aot_fpr_22 = std::bit_cast(aot_run_words[0]); ctx.fpr[20] = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (50042u << 16u); if (branch_taken) { goto L_08AE65C0; } goto L_08AE65AC; } L_08AE65AC: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE65D8; } goto L_08AE65C0; } L_08AE65C0: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08AE65D8u); aot_gpr_5 = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0189. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 445u, 0x08AE65D8u, 0x08AF8668u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0189_entry(rt, ctx, 115u, aot_mem); #else recomp_unit_0189_entry(rt, ctx, 115u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE65D8u) goto L_08AE65D8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE65D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_4 = (0u | 14u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(533), static_cast(aot_gpr_4)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(448), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 | 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); aot_gpr_4 = (0u | 1u); ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (ctx.gpr[6] != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08AE6624; } goto L_08AE6624; L_08AE6624: aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(504), aot_gpr_4); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; aot_gpr_17 = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6658: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08AE6678u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 448u, 0x08AE6678u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6678u) goto L_08AE6678; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6678: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6684u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6684u) goto L_08AE6684; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6684: aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(533), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(72), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(535), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE66CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE66F4u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 451u, 0x08AE66F4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE66F4u) goto L_08AE66F4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE66F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6700u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6700u) goto L_08AE6700; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6700: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(535), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6730: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AE6760u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 454u, 0x08AE6760u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6760u) goto L_08AE6760; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6760: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE676Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE676Cu) goto L_08AE676C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE676C: aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16968u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE67C0; } goto L_08AE67BC; } L_08AE67BC: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_08AE67C0; L_08AE67C0: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AE67D8u); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE67D8u) goto L_08AE67D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE67D8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE67F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE6824u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 460u, 0x08AE6824u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6824u) goto L_08AE6824; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6824: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6830u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6830u) goto L_08AE6830; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6830: aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_14 + aot_fpr_13; aot_fpr_13 = std::sqrt(aot_fpr_13); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE6868u); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6868u) goto L_08AE6868; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6868: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6884: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE68B4u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 464u, 0x08AE68B4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE68B4u) goto L_08AE68B4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE68B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE68C0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE68C0u) goto L_08AE68C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE68C0: aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_12 = std::sqrt(aot_fpr_12); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE68F8u); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE68F8u) goto L_08AE68F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE68F8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6914: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE6944u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 468u, 0x08AE6944u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6944u) goto L_08AE6944; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6944: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6950u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6950u) goto L_08AE6950; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6950: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_17 = (0u | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AE69A8; } goto L_08AE6960; } L_08AE6960: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); ctx.gpr[6] = (0u | 49u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(91)))))); if (branch_taken) { goto L_08AE697C; } goto L_08AE6970; } L_08AE6970: aot_gpr_5 = (0u | 50u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08AE699C; } goto L_08AE697C; } L_08AE697C: ctx.gpr[6] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AE698Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 473u, 0x08AE698Cu, 0x08862E80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 518u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 518u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 518u, 0x08862E80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE698Cu) goto L_08AE698C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE698C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE69A8; } goto L_08AE6994; } L_08AE6994: { const bool branch_taken = 0u == 0u; aot_gpr_17 = (0u | 1u); if (branch_taken) { goto L_08AE69A8; } goto L_08AE699C; } L_08AE699C: { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; if (branch_taken) { goto L_08AE69A8; } goto L_08AE69A4; } L_08AE69A4: aot_gpr_17 = (0u | 1u); goto L_08AE69A8; L_08AE69A8: aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); if (branch_taken) { goto L_08AE69D4; } goto L_08AE69CC; } L_08AE69CC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); if (branch_taken) { goto L_08AE6A1C; } goto L_08AE69D4; } L_08AE69D4: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE6A00; } goto L_08AE69F4; } L_08AE69F4: aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE6A1C; } goto L_08AE6A00; } L_08AE6A00: aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_4 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE6A1C; } goto L_08AE6A18; } L_08AE6A18: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE6A1C; L_08AE6A1C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6A38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE6A60u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 485u, 0x08AE6A60u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6A60u) goto L_08AE6A60; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6A60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6A6Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6A6Cu) goto L_08AE6A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6A6C: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1060)))))); if (branch_taken) { goto L_08AE6A88; } goto L_08AE6A7C; } L_08AE6A7C: aot_gpr_4 = (aot_gpr_4 | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1060), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE6A94; } goto L_08AE6A88; } L_08AE6A88: ctx.gpr[6] = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1060), static_cast(aot_gpr_4)); goto L_08AE6A94; L_08AE6A94: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6AAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[10]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } ctx.gpr[22] = (aot_gpr_4 | 0u); aot_gpr_16 = (ctx.gpr[22] + static_cast(16)); ctx.gpr[30] = (2236u << 16u); ctx.gpr[18] = (ctx.gpr[30] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 5u); aot_gpr_31 = (0x08AE6AF8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 491u, 0x08AE6AF8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6AF8u) goto L_08AE6AF8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6AF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[20] = (0u + static_cast(-1)); ctx.gpr[23] = (0u | 1u); aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); ctx.gpr[21] = (aot_gpr_17 + static_cast(-1)); aot_gpr_5 = (aot_gpr_17 << 5u); ctx.gpr[19] = (0u + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 6u); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_08AE6B30; L_08AE6B30: aot_gpr_17 = (ctx.gpr[21] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2080)); if (branch_taken) { goto L_08AE6C64; } goto L_08AE6B3C; } L_08AE6B3C: aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; if (branch_taken) { goto L_08AE6C64; } goto L_08AE6B48; } L_08AE6B48: { const bool branch_taken = static_cast(aot_gpr_17) < 0; ctx.gpr[21] = (aot_gpr_17 + static_cast(-1)); if (branch_taken) { goto L_08AE6B64; } goto L_08AE6B50; } L_08AE6B50: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08AE6B6C; } goto L_08AE6B64; L_08AE6B64: { const bool branch_taken = 0u == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { goto L_08AE6B8C; } goto L_08AE6B6C; } L_08AE6B6C: aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08AE6B88; } goto L_08AE6B80; L_08AE6B80: { const bool branch_taken = 0u == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { goto L_08AE6B8C; } goto L_08AE6B88; } L_08AE6B88: aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]); goto L_08AE6B8C; L_08AE6B8C: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_08AE6C5C; } goto L_08AE6B94; } L_08AE6B94: aot_gpr_31 = (0x08AE6B9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6B9Cu) goto L_08AE6B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6B9C: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[23]; if (branch_taken) { goto L_08AE6BB8; } goto L_08AE6BA4; } L_08AE6BA4: aot_gpr_31 = (0x08AE6BACu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6BACu) goto L_08AE6BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6BAC: aot_gpr_4 = (0u | 2u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; if (branch_taken) { goto L_08AE6C5C; } goto L_08AE6BB8; } L_08AE6BB8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE6C5C; } goto L_08AE6BC8; } L_08AE6BC8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); if (aot_gpr_5 == aot_gpr_4) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(612))); goto L_08AE6BE4; } goto L_08AE6BD8; L_08AE6BD8: { const bool branch_taken = static_cast(aot_gpr_4) >= 0; if (branch_taken) { goto L_08AE6C5C; } goto L_08AE6BE0; } L_08AE6BE0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(612))); goto L_08AE6BE4; L_08AE6BE4: { const bool branch_taken = aot_gpr_4 != ctx.gpr[23]; if (branch_taken) { goto L_08AE6C5C; } goto L_08AE6BEC; } L_08AE6BEC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(29704))); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast(4), aot_run_words); aot_fpr_13 = std::bit_cast(aot_run_words[0]); aot_fpr_14 = std::bit_cast(aot_run_words[1]); ctx.fpr[15] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08AE6C04u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0170. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 511u, 0x08AE6C04u, 0x08AAF8F4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0170_entry(rt, ctx, 788u, aot_mem); #else recomp_unit_0170_entry(rt, ctx, 788u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6C04u) goto L_08AE6C04; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6C04: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE6C5C; } goto L_08AE6C0C; } L_08AE6C0C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6C18u); aot_gpr_5 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0218. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 513u, 0x08AE6C18u, 0x08B6CC28u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 139u, aot_mem); #else recomp_unit_0218_entry(rt, ctx, 139u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6C18u) goto L_08AE6C18; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6C18: aot_gpr_4 = (0u | 2u); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(612), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5444))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5444), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5436))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5436), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(522))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE6C5C; } goto L_08AE6C48; } L_08AE6C48: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (ctx.gpr[20] | 0u); ctx.gpr[6] = (0u | 1u); aot_gpr_31 = (0x08AE6C5Cu); ctx.gpr[7] = (ctx.gpr[22] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 515u, 0x08AE6C5Cu, 0x08861C90u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 275u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 275u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6C5Cu) goto L_08AE6C5C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6C5C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_17 | 0u); if (branch_taken) { goto L_08AE6B30; } goto L_08AE6C64; } L_08AE6C64: aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(29704), ctx.gpr[20]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08AE6C78u); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6C78u) goto L_08AE6C78; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6C78: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6CAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE6CD4u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 519u, 0x08AE6CD4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6CD4u) goto L_08AE6CD4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6CD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6CE0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6CE0u) goto L_08AE6CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6CE0: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6CF0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6CF0u) goto L_08AE6CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6CF0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AE6CFCu); aot_gpr_5 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0194. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 522u, 0x08AE6CFCu, 0x08B0E3F0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0194_entry(rt, ctx, 552u, aot_mem); #else recomp_unit_0194_entry(rt, ctx, 552u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 552u, 0x08B0E3F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6CFCu) goto L_08AE6CFC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6CFC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6D14: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE6D3Cu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 524u, 0x08AE6D3Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6D3Cu) goto L_08AE6D3C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6D3C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6D48u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6D48u) goto L_08AE6D48; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6D48: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); if (branch_taken) { goto L_08AE6D64; } goto L_08AE6D58; } L_08AE6D58: aot_gpr_4 = (aot_gpr_4 | 32u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE6D70; } goto L_08AE6D64; } L_08AE6D64: ctx.gpr[6] = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); goto L_08AE6D70; L_08AE6D70: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6D88: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE6DB0u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 530u, 0x08AE6DB0u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6DB0u) goto L_08AE6DB0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6DB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6DBCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6DBCu) goto L_08AE6DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6DBC: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); if (branch_taken) { goto L_08AE6DDC; } goto L_08AE6DCC; } L_08AE6DCC: ctx.gpr[6] = (8u << 16u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_08AE6DEC; } goto L_08AE6DDC; } L_08AE6DDC: ctx.gpr[6] = (65528u << 16u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); goto L_08AE6DEC; L_08AE6DEC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6E04: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08AE6E24u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 536u, 0x08AE6E24u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6E24u) goto L_08AE6E24; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6E24: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); if (branch_taken) { goto L_08AE6E40; } goto L_08AE6E30; } L_08AE6E30: aot_gpr_31 = (0x08AE6E38u); aot_gpr_5 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 538u, 0x08AE6E38u, 0x08A063CCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 565u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 565u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 565u, 0x08A063CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6E38u) goto L_08AE6E38; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6E38: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08AE6E48; } goto L_08AE6E40; } L_08AE6E40: aot_gpr_31 = (0x08AE6E48u); aot_gpr_5 = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 540u, 0x08AE6E48u, 0x08A063CCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 565u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 565u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 565u, 0x08A063CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6E48u) goto L_08AE6E48; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6E48: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6E5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE6E84u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 542u, 0x08AE6E84u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6E84u) goto L_08AE6E84; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6E84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6E90u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6E90u) goto L_08AE6E90; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6E90: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(618)))))); if (branch_taken) { goto L_08AE6EAC; } goto L_08AE6EA0; } L_08AE6EA0: aot_gpr_4 = (aot_gpr_4 | 32u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(618), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE6EB8; } goto L_08AE6EAC; } L_08AE6EAC: ctx.gpr[6] = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(618), static_cast(aot_gpr_4)); goto L_08AE6EB8; L_08AE6EB8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6ED0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_17 = (2236u << 16u); aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE6EF8u); ctx.gpr[7] = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 548u, 0x08AE6EF8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6EF8u) goto L_08AE6EF8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6EF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6F04u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6F04u) goto L_08AE6F04; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6F04: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08AE6F3C; } goto L_08AE6F14; } L_08AE6F14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(618)))))); if (branch_taken) { goto L_08AE6F2C; } goto L_08AE6F20; } L_08AE6F20: aot_gpr_5 = (aot_gpr_16 | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(618), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08AE6F6C; } goto L_08AE6F2C; } L_08AE6F2C: aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_5 = (aot_gpr_16 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(618), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08AE6F6C; } goto L_08AE6F3C; } L_08AE6F3C: ctx.gpr[6] = (0u | 6u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; if (branch_taken) { goto L_08AE6F6C; } goto L_08AE6F48; } L_08AE6F48: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(618)))))); if (branch_taken) { goto L_08AE6F60; } goto L_08AE6F54; } L_08AE6F54: aot_gpr_5 = (aot_gpr_16 | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(618), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08AE6F6C; } goto L_08AE6F60; } L_08AE6F60: aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_5 = (aot_gpr_16 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(618), static_cast(aot_gpr_5)); goto L_08AE6F6C; L_08AE6F6C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE6F84: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 3u); aot_gpr_31 = (0x08AE6FB0u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 559u, 0x08AE6FB0u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6FB0u) goto L_08AE6FB0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE6FB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE6FBCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6FBCu) goto L_08AE6FBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6FBC: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[20])); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_31 = (0x08AE7014u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0088. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 561u, 0x08AE7014u, 0x08964540u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0088_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0088_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7014u) goto L_08AE7014; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7014: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (16585u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_08AE7034; } goto L_08AE7034; L_08AE7034: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE7058; } goto L_08AE7054; } L_08AE7054: aot_fpr_12 = aot_fpr_12 - aot_fpr_13; goto L_08AE7058; L_08AE7058: aot_gpr_31 = (0x08AE7060u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0170. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 565u, 0x08AE7060u, 0x08AAF8ACu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0170_entry(rt, ctx, 785u, aot_mem); #else recomp_unit_0170_entry(rt, ctx, 785u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7060u) goto L_08AE7060; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7060: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE707C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE70A4u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 567u, 0x08AE70A4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE70A4u) goto L_08AE70A4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE70A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE70B0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE70B0u) goto L_08AE70B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE70B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); ctx.gpr[6] = (0u + static_cast(-497)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); aot_gpr_4 = (aot_gpr_4 & 31u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(72), aot_gpr_4); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE70E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE7110u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 570u, 0x08AE7110u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7110u) goto L_08AE7110; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7110: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE711Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE711Cu) goto L_08AE711C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE711C: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(615)))))); if (branch_taken) { goto L_08AE7138; } goto L_08AE712C; } L_08AE712C: aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(615), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE7144; } goto L_08AE7138; } L_08AE7138: ctx.gpr[6] = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(615), static_cast(aot_gpr_4)); goto L_08AE7144; L_08AE7144: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE715C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 6u); aot_gpr_31 = (0x08AE7184u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 576u, 0x08AE7184u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7184u) goto L_08AE7184; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7184: ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[18])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[16])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(12), aot_run_words); aot_fpr_14 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[19])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE71C0; } goto L_08AE71B8; } L_08AE71B8: ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08AE71C0; L_08AE71C0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE71D8; } goto L_08AE71D0; } L_08AE71D0: ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[18])); goto L_08AE71D8; L_08AE71D8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[16])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_14)); goto L_08AE71F4; } goto L_08AE71E8; L_08AE71E8: ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[16])); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_14)); goto L_08AE71F4; L_08AE71F4: ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[17])); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[19])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[15])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[16])); aot_gpr_31 = (0x08AE7214u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[18])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 583u, 0x08AE7214u, 0x08894898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 108u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 108u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 108u, 0x08894898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7214u) goto L_08AE7214; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7214: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE722C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); aot_gpr_31 = (0x08AE7254u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 585u, 0x08AE7254u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7254u) goto L_08AE7254; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7254: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7260u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7260u) goto L_08AE7260; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7260: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(615)))))); aot_gpr_5 = (aot_gpr_5 & 2u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08AE7278; } goto L_08AE7274; } L_08AE7274: aot_gpr_4 = (0u | 1u); goto L_08AE7278; L_08AE7278: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE72A4; } goto L_08AE729C; } L_08AE729C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE72EC; } goto L_08AE72A4; } L_08AE72A4: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AE72D0; } goto L_08AE72C4; } L_08AE72C4: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE72EC; } goto L_08AE72D0; } L_08AE72D0: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_4 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE72EC; } goto L_08AE72E8; } L_08AE72E8: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE72EC; L_08AE72EC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7304: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); ctx.gpr[6] = (0u | 3u); aot_gpr_31 = (0x08AE7334u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 596u, 0x08AE7334u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7334u) goto L_08AE7334; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7334: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7340u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7340u) goto L_08AE7340; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7340: aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(22240)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_31 = (0x08AE735Cu); ctx.gpr[7] = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 598u, 0x08AE735Cu, 0x0886221Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 344u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 344u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 344u, 0x0886221Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE735Cu) goto L_08AE735C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE735C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7378: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08AE7398u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 600u, 0x08AE7398u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7398u) goto L_08AE7398; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7398: aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(22240)); aot_gpr_31 = (0x08AE73A8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 601u, 0x08AE73A8u, 0x088622F4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 354u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 354u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 354u, 0x088622F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE73A8u) goto L_08AE73A8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE73A8: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE73BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_31 = (0x08AE73E8u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 603u, 0x08AE73E8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE73E8u) goto L_08AE73E8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE73E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE73F4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE73F4u) goto L_08AE73F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE73F4: aot_gpr_17 = (0u | 0u); aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(22240)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_31 = (0x08AE740Cu); ctx.gpr[6] = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0023. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 605u, 0x08AE740Cu, 0x08862374u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 359u, aot_mem); #else recomp_unit_0023_entry(rt, ctx, 359u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 359u, 0x08862374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE740Cu) goto L_08AE740C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE740C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08AE7418; } goto L_08AE7414; } L_08AE7414: aot_gpr_17 = (0u | 1u); goto L_08AE7418; L_08AE7418: aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); if (branch_taken) { goto L_08AE7444; } goto L_08AE743C; } L_08AE743C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); if (branch_taken) { goto L_08AE748C; } goto L_08AE7444; } L_08AE7444: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE7470; } goto L_08AE7464; } L_08AE7464: aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE748C; } goto L_08AE7470; } L_08AE7470: aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_4 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE748C; } goto L_08AE7488; } L_08AE7488: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE748C; L_08AE748C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE74A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE74D0u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 615u, 0x08AE74D0u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE74D0u) goto L_08AE74D0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE74D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE74DCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE74DCu) goto L_08AE74DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE74DC: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); if (branch_taken) { goto L_08AE74F8; } goto L_08AE74EC; } L_08AE74EC: aot_gpr_4 = (aot_gpr_4 | 64u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE7504; } goto L_08AE74F8; } L_08AE74F8: ctx.gpr[6] = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); goto L_08AE7504; L_08AE7504: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE751C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE754Cu); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 621u, 0x08AE754Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE754Cu) goto L_08AE754C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE754C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7558u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7558u) goto L_08AE7558; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7558: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE7568u); ctx.gpr[6] = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7568u) goto L_08AE7568; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7568: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7584: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08AE75A4u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 625u, 0x08AE75A4u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE75A4u) goto L_08AE75A4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE75A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE75C0; } goto L_08AE75B0; } L_08AE75B0: aot_gpr_31 = (0x08AE75B8u); aot_gpr_4 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 627u, 0x08AE75B8u, 0x08894CA4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 165u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 165u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 165u, 0x08894CA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE75B8u) goto L_08AE75B8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE75B8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08AE75E0; } goto L_08AE75C0; } L_08AE75C0: aot_gpr_31 = (0x08AE75C8u); aot_gpr_4 = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 629u, 0x08AE75C8u, 0x08894CA4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 165u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 165u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 165u, 0x08894CA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE75C8u) goto L_08AE75C8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE75C8: aot_gpr_31 = (0x08AE75D0u); aot_gpr_4 = (aot_gpr_29 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 630u, 0x08AE75D0u, 0x08960154u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 16u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 16u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE75D0u) goto L_08AE75D0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE75D0: aot_gpr_4 = (17786u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08AE75E0u); aot_gpr_4 = (aot_gpr_29 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 631u, 0x08AE75E0u, 0x08894D40u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 177u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 177u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 177u, 0x08894D40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE75E0u) goto L_08AE75E0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE75E0: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE75F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[18] = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE7620u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 633u, 0x08AE7620u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7620u) goto L_08AE7620; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7620: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE762Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE762Cu) goto L_08AE762C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE762C: aot_gpr_17 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (0u + static_cast(-65)); if (branch_taken) { goto L_08AE7650; } goto L_08AE763C; } L_08AE763C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); aot_gpr_4 = (aot_gpr_4 | 64u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE7664; } goto L_08AE7650; } L_08AE7650: aot_gpr_31 = (0x08AE7658u); aot_gpr_4 = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0191. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 637u, 0x08AE7658u, 0x08B01C90u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 479u, aot_mem); #else recomp_unit_0191_entry(rt, ctx, 479u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 479u, 0x08B01C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7658u) goto L_08AE7658; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7658: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(aot_gpr_4)); goto L_08AE7664; L_08AE7664: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7680: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 4u); aot_gpr_31 = (0x08AE76B8u); ctx.gpr[7] = (ctx.gpr[19] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 640u, 0x08AE76B8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE76B8u) goto L_08AE76B8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE76B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE76C4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE76C4u) goto L_08AE76C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE76C4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast(4), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08AE7714u); aot_gpr_5 = (ctx.gpr[2] + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7714u) goto L_08AE7714; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7714: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE773Cu); ctx.gpr[6] = (0u | 3u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE773Cu) goto L_08AE773C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE773C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE775C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_17 = (2236u << 16u); aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE7784u); ctx.gpr[7] = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 645u, 0x08AE7784u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7784u) goto L_08AE7784; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7784: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE7798; } goto L_08AE7790; } L_08AE7790: aot_gpr_31 = (0x08AE7798u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0217. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 647u, 0x08AE7798u, 0x08B68290u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0217_entry(rt, ctx, 34u, aot_mem); #else recomp_unit_0217_entry(rt, ctx, 34u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 34u, 0x08B68290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7798u) goto L_08AE7798; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7798: aot_gpr_31 = (0x08AE77A0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE77A0u) goto L_08AE77A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE77A0: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08AE77BC; } goto L_08AE77A8; } L_08AE77A8: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_31 = (0x08AE77BCu); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 650u, 0x08AE77BCu, 0x08A067B8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 629u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 629u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 629u, 0x08A067B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE77BCu) goto L_08AE77BC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE77BC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE77D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE77FCu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 652u, 0x08AE77FCu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE77FCu) goto L_08AE77FC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE77FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7808u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7808u) goto L_08AE7808; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7808: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE7824; } goto L_08AE781C; } L_08AE781C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1708), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08AE783C; } goto L_08AE7824; } L_08AE7824: ctx.gpr[6] = (0u | 6u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; if (branch_taken) { goto L_08AE7838; } goto L_08AE7830; } L_08AE7830: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1352), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08AE783C; } goto L_08AE7838; } L_08AE7838: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1708), std::bit_cast(aot_fpr_12)); goto L_08AE783C; L_08AE783C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7854: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE787Cu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 660u, 0x08AE787Cu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE787Cu) goto L_08AE787C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE787C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7888u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7888u) goto L_08AE7888; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7888: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(538)))))); ctx.gpr[7] = (0u + static_cast(-5)); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); if (branch_taken) { goto L_08AE78AC; } goto L_08AE78A0; } L_08AE78A0: aot_gpr_4 = (aot_gpr_4 | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(538), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE78B0; } goto L_08AE78AC; } L_08AE78AC: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(538), static_cast(aot_gpr_4)); goto L_08AE78B0; L_08AE78B0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE78C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE78F8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 666u, 0x08AE78F8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE78F8u) goto L_08AE78F8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE78F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7904u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7904u) goto L_08AE7904; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7904: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_17 = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(565))); ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[6] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AE7938; } goto L_08AE7920; } L_08AE7920: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AE792Cu); aot_gpr_5 = (ctx.gpr[6] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE792Cu) goto L_08AE792C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE792C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08AE7938; } goto L_08AE7934; } L_08AE7934: aot_gpr_17 = (0u | 1u); goto L_08AE7938; L_08AE7938: aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); if (branch_taken) { goto L_08AE7964; } goto L_08AE795C; } L_08AE795C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); if (branch_taken) { goto L_08AE79AC; } goto L_08AE7964; } L_08AE7964: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE7990; } goto L_08AE7984; } L_08AE7984: aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE79AC; } goto L_08AE7990; } L_08AE7990: aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_4 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE79AC; } goto L_08AE79A8; } L_08AE79A8: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE79AC; L_08AE79AC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE79C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE79F8u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 679u, 0x08AE79F8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE79F8u) goto L_08AE79F8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE79F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7A04u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7A04u) goto L_08AE7A04; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7A04: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE7A1Cu); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7A1Cu) goto L_08AE7A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7A1C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7A38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08AE7A58u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 683u, 0x08AE7A58u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7A58u) goto L_08AE7A58; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7A58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7A64u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7A64u) goto L_08AE7A64; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7A64: aot_gpr_31 = (0x08AE7A6Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0194. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 685u, 0x08AE7A6Cu, 0x08B0E0ECu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0194_entry(rt, ctx, 502u, aot_mem); #else recomp_unit_0194_entry(rt, ctx, 502u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 502u, 0x08B0E0ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7A6Cu) goto L_08AE7A6C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7A6C: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7A80: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE7AA8u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 687u, 0x08AE7AA8u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7AA8u) goto L_08AE7AA8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7AA8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7AB4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7AB4u) goto L_08AE7AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7AB4: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(538)))))); ctx.gpr[7] = (0u + static_cast(-9)); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); if (branch_taken) { goto L_08AE7AD4; } goto L_08AE7ACC; } L_08AE7ACC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(538), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE7ADC; } goto L_08AE7AD4; } L_08AE7AD4: aot_gpr_4 = (aot_gpr_4 | 8u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(538), static_cast(aot_gpr_4)); goto L_08AE7ADC; L_08AE7ADC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7AF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08AE7B14u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 693u, 0x08AE7B14u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7B14u) goto L_08AE7B14; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7B14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7B20u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7B20u) goto L_08AE7B20; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7B20: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE7B34; } goto L_08AE7B2C; } L_08AE7B2C: aot_gpr_5 = (0u + static_cast(-1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(91), static_cast(aot_gpr_5)); goto L_08AE7B34; L_08AE7B34: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7B48: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AE7B78u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 698u, 0x08AE7B78u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7B78u) goto L_08AE7B78; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7B78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7B84u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7B84u) goto L_08AE7B84; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7B84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AE7BA0; } goto L_08AE7B90; } L_08AE7B90: aot_gpr_31 = (0x08AE7B98u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7B98u) goto L_08AE7B98; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7B98: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), ctx.gpr[2]); if (branch_taken) { goto L_08AE7BA8; } goto L_08AE7BA0; } L_08AE7BA0: aot_gpr_4 = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), aot_gpr_4); goto L_08AE7BA8; L_08AE7BA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AE7BB8u); ctx.gpr[6] = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7BB8u) goto L_08AE7BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7BB8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7BD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 3u); aot_gpr_31 = (0x08AE7BFCu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 706u, 0x08AE7BFCu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7BFCu) goto L_08AE7BFC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7BFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7C08u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7C08u) goto L_08AE7C08; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7C08: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(534), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(512), aot_gpr_4); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7C40: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08AE7C60u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 709u, 0x08AE7C60u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7C60u) goto L_08AE7C60; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7C60: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(-13364), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7C84: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE7CACu); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 711u, 0x08AE7CACu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7CACu) goto L_08AE7CAC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7CAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7CB8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7CB8u) goto L_08AE7CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7CB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(560), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7CD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE7D00u); ctx.gpr[7] = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 714u, 0x08AE7D00u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7D00u) goto L_08AE7D00; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7D00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7D0Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7D0Cu) goto L_08AE7D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7D0C: aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); if (branch_taken) { goto L_08AE7D28; } goto L_08AE7D1C; } L_08AE7D1C: aot_gpr_4 = (aot_gpr_4 | 128u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE7D34; } goto L_08AE7D28; } L_08AE7D28: ctx.gpr[6] = (0u + static_cast(-129)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); goto L_08AE7D34; L_08AE7D34: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7D4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); aot_gpr_31 = (0x08AE7D78u); ctx.gpr[6] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 720u, 0x08AE7D78u, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7D78u) goto L_08AE7D78; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7D78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7D84u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7D84u) goto L_08AE7D84; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7D84: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_17 = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(596))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE7D9C; } goto L_08AE7D98; } L_08AE7D98: aot_gpr_17 = (0u | 1u); goto L_08AE7D9C; L_08AE7D9C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE7DC0; } goto L_08AE7DA8; } L_08AE7DA8: aot_gpr_31 = (0x08AE7DB0u); aot_gpr_4 = (ctx.gpr[18] + static_cast(944)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0194. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 725u, 0x08AE7DB0u, 0x08B0D970u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0194_entry(rt, ctx, 387u, aot_mem); #else recomp_unit_0194_entry(rt, ctx, 387u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7DB0u) goto L_08AE7DB0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7DB0: aot_gpr_4 = (ctx.gpr[2] < static_cast(225) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE7DC0; } goto L_08AE7DBC; } L_08AE7DBC: aot_gpr_17 = (0u | 1u); goto L_08AE7DC0; L_08AE7DC0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(636))); aot_gpr_4 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08AE7DE0; } goto L_08AE7DDC; } L_08AE7DDC: aot_gpr_17 = (0u | 1u); goto L_08AE7DE0; L_08AE7DE0: aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); if (branch_taken) { goto L_08AE7E0C; } goto L_08AE7E04; } L_08AE7E04: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); if (branch_taken) { goto L_08AE7E54; } goto L_08AE7E0C; } L_08AE7E0C: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AE7E38; } goto L_08AE7E2C; } L_08AE7E2C: aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AE7E54; } goto L_08AE7E38; } L_08AE7E38: aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_4 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08AE7E54; } goto L_08AE7E50; } L_08AE7E50: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08AE7E54; L_08AE7E54: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08AE7E70: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_17 = (0u | 2u); ctx.gpr[19] = (2236u << 16u); ctx.gpr[18] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[6] = (0u | 2u); aot_gpr_31 = (0x08AE7EACu); ctx.gpr[7] = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0024. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 737u, 0x08AE7EACu, 0x0886589Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); #else recomp_unit_0024_entry(rt, ctx, 371u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7EACu) goto L_08AE7EAC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7EAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AE7EB8u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7EB8u) goto L_08AE7EB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7EB8: aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); ctx.gpr[8] = (0u | 6u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); ctx.gpr[6] = (0u | 4u); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; ctx.gpr[20] = (0u | 1u); if (branch_taken) { goto L_08AE7F64; } goto L_08AE7ED8; } L_08AE7ED8: { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; if (branch_taken) { goto L_08AE7F1C; } goto L_08AE7EE0; } L_08AE7EE0: ctx.gpr[7] = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); goto L_08AE7EF0; L_08AE7EF0: ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(1076))); { const bool branch_taken = ctx.gpr[8] != ctx.gpr[20]; if (branch_taken) { goto L_08AE7F04; } goto L_08AE7F00; } L_08AE7F00: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08AE7F04; L_08AE7F04: ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); ctx.gpr[8] = (ctx.gpr[7] < static_cast(2) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; if (branch_taken) { goto L_08AE7EF0; } goto L_08AE7F14; } L_08AE7F14: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08AE7FC8; } goto L_08AE7F1C; } L_08AE7F1C: { const bool branch_taken = aot_gpr_5 != aot_gpr_17; if (branch_taken) { goto L_08AE7F30; } goto L_08AE7F24; } L_08AE7F24: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), 0u); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08AE7F44; } goto L_08AE7F30; } L_08AE7F30: ctx.gpr[6] = (0u | 3u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; if (branch_taken) { goto L_08AE7F44; } goto L_08AE7F3C; } L_08AE7F3C: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), ctx.gpr[20]); aot_gpr_5 = (ctx.gpr[20] | 0u); goto L_08AE7F44; L_08AE7F44: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1076))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[20]; ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); if (branch_taken) { goto L_08AE7FC8; } goto L_08AE7F5C; } L_08AE7F5C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_08AE7FC8; } goto L_08AE7F64; } L_08AE7F64: { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; ctx.gpr[18] = (aot_gpr_4 + static_cast(944)); if (branch_taken) { goto L_08AE7FA0; } goto L_08AE7F6C; } L_08AE7F6C: aot_gpr_17 = (0u | 0u); goto L_08AE7F70; L_08AE7F70: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AE7F7Cu); aot_gpr_5 = (aot_gpr_17 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0194. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 754u, 0x08AE7F7Cu, 0x08B0D8F8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0194_entry(rt, ctx, 376u, aot_mem); #else recomp_unit_0194_entry(rt, ctx, 376u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 376u, 0x08B0D8F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7F7Cu) goto L_08AE7F7C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7F7C: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[20]; if (branch_taken) { goto L_08AE7F88; } goto L_08AE7F84; } L_08AE7F84: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08AE7F88; L_08AE7F88: aot_gpr_17 = (aot_gpr_17 + static_cast(1)); aot_gpr_4 = (aot_gpr_17 < static_cast(4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08AE7F70; } goto L_08AE7F98; } L_08AE7F98: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); if (branch_taken) { goto L_08AE7FC0; } goto L_08AE7FA0; } L_08AE7FA0: aot_gpr_31 = (0x08AE7FA8u); aot_gpr_4 = (ctx.gpr[18] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0184->0194. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0184_entry, 759u, 0x08AE7FA8u, 0x08B0D8F8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0194_entry(rt, ctx, 376u, aot_mem); #else recomp_unit_0194_entry(rt, ctx, 376u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 376u, 0x08B0D8F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7FA8u) goto L_08AE7FA8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08AE7FA8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[20]; ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); if (branch_taken) { goto L_08AE7FC8; } goto L_08AE7FB8; } L_08AE7FB8: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_08AE7FC8; } goto L_08AE7FC0; } L_08AE7FC0: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); goto L_08AE7FC8; L_08AE7FC8: aot_gpr_4 = (0u < ctx.gpr[19] ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); ctx.gpr[19] = (aot_gpr_4 ^ aot_gpr_5); { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[19] = (0u < ctx.gpr[19] ? 1u : 0u); if (branch_taken) { goto L_08AE7FE8; } goto L_08AE7FE0; } L_08AE7FE0: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[19])); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0185_entry, 185u, 5u, 0x08AE8030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AE7FE8; } L_08AE7FE8: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); ctx.pc = 0x08AE8000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0184(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0184_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_184(Runtime &runtime) { runtime.register_generated_unit(184u, 0x08AE4000u, 16384u, &recomp_unit_0184, &recomp_unit_0184_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x08AE4000u, &recomp_unit_0184, "recomp_unit_0184", kEntryMasks_recomp_unit_0184, 64u); } } // namespace psprecomp