#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_0144[64] = { 0xA001040002001401ull, 0x29004010040100AAull, 0x888434A34A1694A5ull, 0x4044800421A51A54ull, 0x0022100628000C44ull, 0x0010000100000010ull, 0x82A280A890000001ull, 0x0915000000000004ull, 0x008000002A40088Aull, 0x0080A00020204802ull, 0x0400008004284280ull, 0x0008800080000800ull, 0x4000200802008000ull, 0x20800500A5440822ull, 0x0125028152001400ull, 0x8103000A00820014ull, 0x8400002088892A94ull, 0x1120048842440224ull, 0x2112904921121141ull, 0x2808102000004000ull, 0x3510120048121544ull, 0x8110551200000000ull, 0x2C0A544410AA2494ull, 0x0090810241024A88ull, 0x0B42A00001542E05ull, 0x180000002A8500ABull, 0x852240A012118123ull, 0x10902AA0682202A4ull, 0x04491054A2490A54ull, 0x0140050452800242ull, 0x344880220028A855ull, 0x5005484AAA100100ull, 0x02A0020915A24940ull, 0x108441010116404Aull, 0x4400580108040412ull, 0x820020000202D080ull, 0x8444444445550102ull, 0x2A82101012AA60A8ull, 0x24C4552AA915A962ull, 0xA150400054000B02ull, 0x0080000A15251088ull, 0xAB62AA0900010000ull, 0x11106444A8000000ull, 0xA5240C212A60D111ull, 0x040A22A9551222A4ull, 0x1414A2A820514555ull, 0x4010040000002A40ull, 0x6000202800010101ull, 0x4000000C00042C24ull, 0x2008000800008000ull, 0x0400000044810A01ull, 0x154204152C010040ull, 0x0050008010002401ull, 0x400090048A4282A8ull, 0x0888888800500200ull, 0x00000000A0A08A0Aull, 0x01A0004C10B10C00ull, 0x2048000806000000ull, 0x400000000000AA21ull, 0x800D000260858860ull, 0x0AA2480020000082ull, 0x0000400000044254ull, 0x5050050008082000ull, 0x8809820840082800ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0144[64] = { 1u, 9u, 20u, 44u, 61u, 72u, 75u, 87u, 93u, 102u, 110u, 118u, 122u, 127u, 140u, 152u, 162u, 176u, 189u, 206u, 212u, 228u, 237u, 257u, 270u, 287u, 300u, 317u, 334u, 353u, 365u, 382u, 397u, 413u, 427u, 438u, 447u, 464u, 482u, 508u, 521u, 533u, 548u, 559u, 580u, 600u, 621u, 628u, 636u, 645u, 649u, 657u, 671u, 678u, 692u, 702u, 711u, 724u, 730u, 737u, 751u, 761u, 768u, 777u, }; void recomp_unit_0144_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,29,31,6,2 fprs=12,13,14,22 gpr_occ=3684 fpr_occ=906 gpr_total=5267 fpr_total=1042 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_22 = ctx.fpr[22]; 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[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } 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_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } 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 - 0x08A44000u; entry_id = 0u; if (entry_delta < 16384u && (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_0144[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_0144[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_08A44000; case 2u: goto L_08A44028; case 3u: goto L_08A44030; case 4u: goto L_08A44064; case 5u: goto L_08A440A8; case 6u: goto L_08A440C0; case 7u: goto L_08A440F4; case 8u: goto L_08A440FC; case 9u: goto L_08A44104; case 10u: goto L_08A4410C; case 11u: goto L_08A44114; case 12u: goto L_08A4411C; case 13u: goto L_08A44140; case 14u: goto L_08A44168; case 15u: goto L_08A44190; case 16u: goto L_08A441B8; case 17u: goto L_08A441E0; case 18u: goto L_08A441EC; case 19u: goto L_08A441F4; case 20u: goto L_08A44200; case 21u: goto L_08A44208; case 22u: goto L_08A44214; case 23u: goto L_08A4421C; case 24u: goto L_08A44228; case 25u: goto L_08A44230; case 26u: goto L_08A4423C; case 27u: goto L_08A44244; case 28u: goto L_08A44248; case 29u: goto L_08A44250; case 30u: goto L_08A44264; case 31u: goto L_08A4426C; case 32u: goto L_08A44278; case 33u: goto L_08A44280; case 34u: goto L_08A44284; case 35u: goto L_08A44294; case 36u: goto L_08A4429C; case 37u: goto L_08A442A8; case 38u: goto L_08A442B0; case 39u: goto L_08A442B4; case 40u: goto L_08A442C8; case 41u: goto L_08A442DC; case 42u: goto L_08A442EC; case 43u: goto L_08A442FC; case 44u: goto L_08A44308; case 45u: goto L_08A44310; case 46u: goto L_08A44318; case 47u: goto L_08A44324; case 48u: goto L_08A4432C; case 49u: goto L_08A44330; case 50u: goto L_08A44340; case 51u: goto L_08A44348; case 52u: goto L_08A44354; case 53u: goto L_08A4435C; case 54u: goto L_08A44360; case 55u: goto L_08A44374; case 56u: goto L_08A44388; case 57u: goto L_08A443BC; case 58u: goto L_08A443C8; case 59u: goto L_08A443D8; case 60u: goto L_08A443F8; case 61u: goto L_08A44408; case 62u: goto L_08A44418; case 63u: goto L_08A44428; case 64u: goto L_08A4442C; case 65u: goto L_08A4446C; case 66u: goto L_08A44474; case 67u: goto L_08A44484; case 68u: goto L_08A44488; case 69u: goto L_08A444B0; case 70u: goto L_08A444C4; case 71u: goto L_08A444D4; case 72u: goto L_08A44510; case 73u: goto L_08A44580; case 74u: goto L_08A445D0; case 75u: goto L_08A44600; case 76u: goto L_08A44670; case 77u: goto L_08A4467C; case 78u: goto L_08A4468C; case 79u: goto L_08A44694; case 80u: goto L_08A4469C; case 81u: goto L_08A446BC; case 82u: goto L_08A446C4; case 83u: goto L_08A446D4; case 84u: goto L_08A446DC; case 85u: goto L_08A446E4; case 86u: goto L_08A446FC; case 87u: goto L_08A44708; case 88u: goto L_08A447C0; case 89u: goto L_08A447C8; case 90u: goto L_08A447D0; case 91u: goto L_08A447E0; case 92u: goto L_08A447EC; case 93u: goto L_08A44804; case 94u: goto L_08A4480C; case 95u: goto L_08A4481C; case 96u: goto L_08A4482C; case 97u: goto L_08A44858; case 98u: goto L_08A44864; case 99u: goto L_08A4486C; case 100u: goto L_08A44874; case 101u: goto L_08A448DC; case 102u: goto L_08A44904; case 103u: goto L_08A4492C; case 104u: goto L_08A44938; case 105u: goto L_08A44954; case 106u: goto L_08A44974; case 107u: goto L_08A449B4; case 108u: goto L_08A449BC; case 109u: goto L_08A449DC; case 110u: goto L_08A44A1C; case 111u: goto L_08A44A24; case 112u: goto L_08A44A38; case 113u: goto L_08A44A4C; case 114u: goto L_08A44A54; case 115u: goto L_08A44A68; case 116u: goto L_08A44A9C; case 117u: goto L_08A44AE8; case 118u: goto L_08A44B2C; case 119u: goto L_08A44B7C; case 120u: goto L_08A44BBC; case 121u: goto L_08A44BCC; case 122u: goto L_08A44C3C; case 123u: goto L_08A44C64; case 124u: goto L_08A44C8C; case 125u: goto L_08A44CB4; case 126u: goto L_08A44CF8; case 127u: goto L_08A44D04; case 128u: goto L_08A44D14; case 129u: goto L_08A44D2C; case 130u: goto L_08A44D48; case 131u: goto L_08A44D58; case 132u: goto L_08A44D60; case 133u: goto L_08A44D68; case 134u: goto L_08A44D74; case 135u: goto L_08A44D7C; case 136u: goto L_08A44DA0; case 137u: goto L_08A44DA8; case 138u: goto L_08A44DDC; case 139u: goto L_08A44DF4; case 140u: goto L_08A44E28; case 141u: goto L_08A44E30; case 142u: goto L_08A44E64; case 143u: goto L_08A44E70; case 144u: goto L_08A44E78; case 145u: goto L_08A44E80; case 146u: goto L_08A44E9C; case 147u: goto L_08A44EA4; case 148u: goto L_08A44EC0; case 149u: goto L_08A44EC8; case 150u: goto L_08A44ED4; case 151u: goto L_08A44EE0; case 152u: goto L_08A44F08; case 153u: goto L_08A44F10; case 154u: goto L_08A44F44; case 155u: goto L_08A44F5C; case 156u: goto L_08A44F84; case 157u: goto L_08A44F8C; case 158u: goto L_08A44FC0; case 159u: goto L_08A44FC4; case 160u: goto L_08A44FE0; case 161u: goto L_08A44FFC; case 162u: goto L_08A45008; case 163u: goto L_08A45010; case 164u: goto L_08A4501C; case 165u: goto L_08A45024; case 166u: goto L_08A4502C; case 167u: goto L_08A45034; case 168u: goto L_08A45040; case 169u: goto L_08A4504C; case 170u: goto L_08A4505C; case 171u: goto L_08A4506C; case 172u: goto L_08A4507C; case 173u: goto L_08A45094; case 174u: goto L_08A450E8; case 175u: goto L_08A450FC; case 176u: goto L_08A45108; case 177u: goto L_08A45114; case 178u: goto L_08A45124; case 179u: goto L_08A45148; case 180u: goto L_08A45158; case 181u: goto L_08A45164; case 182u: goto L_08A45178; case 183u: goto L_08A4518C; case 184u: goto L_08A4519C; case 185u: goto L_08A451A8; case 186u: goto L_08A451D4; case 187u: goto L_08A451E0; case 188u: goto L_08A451F0; case 189u: goto L_08A45200; case 190u: goto L_08A45218; case 191u: goto L_08A45220; case 192u: goto L_08A45230; case 193u: goto L_08A45244; case 194u: goto L_08A45250; case 195u: goto L_08A45260; case 196u: goto L_08A45274; case 197u: goto L_08A45280; case 198u: goto L_08A4528C; case 199u: goto L_08A45298; case 200u: goto L_08A452B0; case 201u: goto L_08A452BC; case 202u: goto L_08A452C4; case 203u: goto L_08A452D0; case 204u: goto L_08A452E0; case 205u: goto L_08A452F4; case 206u: goto L_08A45338; case 207u: goto L_08A45394; case 208u: goto L_08A453B0; case 209u: goto L_08A453CC; case 210u: goto L_08A453EC; case 211u: goto L_08A453F4; case 212u: goto L_08A45408; case 213u: goto L_08A45418; case 214u: goto L_08A45420; case 215u: goto L_08A45428; case 216u: goto L_08A45430; case 217u: goto L_08A45444; case 218u: goto L_08A45450; case 219u: goto L_08A4546C; case 220u: goto L_08A45478; case 221u: goto L_08A454A4; case 222u: goto L_08A454B0; case 223u: goto L_08A454D0; case 224u: goto L_08A454E0; case 225u: goto L_08A454E8; case 226u: goto L_08A454F0; case 227u: goto L_08A454F4; case 228u: goto L_08A45584; case 229u: goto L_08A45590; case 230u: goto L_08A455A0; case 231u: goto L_08A455A8; case 232u: goto L_08A455B0; case 233u: goto L_08A455B8; case 234u: goto L_08A455D0; case 235u: goto L_08A455E0; case 236u: goto L_08A455FC; case 237u: goto L_08A45608; case 238u: goto L_08A45610; case 239u: goto L_08A4561C; case 240u: goto L_08A45628; case 241u: goto L_08A45634; case 242u: goto L_08A45644; case 243u: goto L_08A4564C; case 244u: goto L_08A45654; case 245u: goto L_08A4565C; case 246u: goto L_08A45670; case 247u: goto L_08A45688; case 248u: goto L_08A45698; case 249u: goto L_08A456A8; case 250u: goto L_08A456B0; case 251u: goto L_08A456B8; case 252u: goto L_08A456C4; case 253u: goto L_08A456CC; case 254u: goto L_08A456E8; case 255u: goto L_08A456EC; case 256u: goto L_08A456F4; case 257u: goto L_08A4570C; case 258u: goto L_08A4571C; case 259u: goto L_08A45724; case 260u: goto L_08A4572C; case 261u: goto L_08A45738; case 262u: goto L_08A45744; case 263u: goto L_08A45760; case 264u: goto L_08A45778; case 265u: goto L_08A45784; case 266u: goto L_08A457A0; case 267u: goto L_08A457BC; case 268u: goto L_08A457D0; case 269u: goto L_08A457DC; case 270u: goto L_08A45800; case 271u: goto L_08A45808; case 272u: goto L_08A45824; case 273u: goto L_08A45828; case 274u: goto L_08A4582C; case 275u: goto L_08A45834; case 276u: goto L_08A45848; case 277u: goto L_08A45850; case 278u: goto L_08A45858; case 279u: goto L_08A45860; case 280u: goto L_08A458B4; case 281u: goto L_08A458BC; case 282u: goto L_08A458C4; case 283u: goto L_08A458D8; case 284u: goto L_08A458E0; case 285u: goto L_08A458E4; case 286u: goto L_08A458EC; case 287u: goto L_08A45900; case 288u: goto L_08A45904; case 289u: goto L_08A4590C; case 290u: goto L_08A45914; case 291u: goto L_08A4591C; case 292u: goto L_08A45940; case 293u: goto L_08A45948; case 294u: goto L_08A4595C; case 295u: goto L_08A45964; case 296u: goto L_08A4596C; case 297u: goto L_08A45974; case 298u: goto L_08A459EC; case 299u: goto L_08A459F0; case 300u: goto L_08A45A00; case 301u: goto L_08A45A04; case 302u: goto L_08A45A14; case 303u: goto L_08A45A20; case 304u: goto L_08A45A3C; case 305u: goto L_08A45A40; case 306u: goto L_08A45A50; case 307u: goto L_08A45A64; case 308u: goto L_08A45A70; case 309u: goto L_08A45A94; case 310u: goto L_08A45A9C; case 311u: goto L_08A45AB8; case 312u: goto L_08A45AC4; case 313u: goto L_08A45AD4; case 314u: goto L_08A45AE0; case 315u: goto L_08A45AE8; case 316u: goto L_08A45AFC; case 317u: goto L_08A45B08; case 318u: goto L_08A45B14; case 319u: goto L_08A45B1C; case 320u: goto L_08A45B24; case 321u: goto L_08A45B44; case 322u: goto L_08A45B54; case 323u: goto L_08A45B6C; case 324u: goto L_08A45B74; case 325u: goto L_08A45B78; case 326u: goto L_08A45B94; case 327u: goto L_08A45B9C; case 328u: goto L_08A45BA4; case 329u: goto L_08A45BAC; case 330u: goto L_08A45BB4; case 331u: goto L_08A45BD0; case 332u: goto L_08A45BDC; case 333u: goto L_08A45BF0; case 334u: goto L_08A45C08; case 335u: goto L_08A45C10; case 336u: goto L_08A45C18; case 337u: goto L_08A45C24; case 338u: goto L_08A45C2C; case 339u: goto L_08A45C40; case 340u: goto L_08A45C4C; case 341u: goto L_08A45C58; case 342u: goto L_08A45C64; case 343u: goto L_08A45C74; case 344u: goto L_08A45C7C; case 345u: goto L_08A45C88; case 346u: goto L_08A45C90; case 347u: goto L_08A45C98; case 348u: goto L_08A45CB0; case 349u: goto L_08A45CC0; case 350u: goto L_08A45CCC; case 351u: goto L_08A45CD8; case 352u: goto L_08A45CE8; case 353u: goto L_08A45D04; case 354u: goto L_08A45D18; case 355u: goto L_08A45D24; case 356u: goto L_08A45D5C; case 357u: goto L_08A45D64; case 358u: goto L_08A45D70; case 359u: goto L_08A45D78; case 360u: goto L_08A45D88; case 361u: goto L_08A45DA0; case 362u: goto L_08A45DA8; case 363u: goto L_08A45DD8; case 364u: goto L_08A45DE0; case 365u: goto L_08A45E00; case 366u: goto L_08A45E08; case 367u: goto L_08A45E10; case 368u: goto L_08A45E18; case 369u: goto L_08A45E2C; case 370u: goto L_08A45E34; case 371u: goto L_08A45E3C; case 372u: goto L_08A45E4C; case 373u: goto L_08A45E54; case 374u: goto L_08A45E84; case 375u: goto L_08A45E94; case 376u: goto L_08A45EBC; case 377u: goto L_08A45ECC; case 378u: goto L_08A45ED8; case 379u: goto L_08A45EE8; case 380u: goto L_08A45EF0; case 381u: goto L_08A45EF4; case 382u: goto L_08A45F20; case 383u: goto L_08A45F50; case 384u: goto L_08A45F64; case 385u: goto L_08A45F6C; case 386u: goto L_08A45F74; case 387u: goto L_08A45F7C; case 388u: goto L_08A45F84; case 389u: goto L_08A45F8C; case 390u: goto L_08A45F98; case 391u: goto L_08A45FAC; case 392u: goto L_08A45FB8; case 393u: goto L_08A45FC0; case 394u: goto L_08A45FC8; case 395u: goto L_08A45FF0; case 396u: goto L_08A45FF8; case 397u: goto L_08A46018; case 398u: goto L_08A46020; case 399u: goto L_08A4602C; case 400u: goto L_08A46038; case 401u: goto L_08A46044; case 402u: goto L_08A46054; case 403u: goto L_08A4605C; case 404u: goto L_08A46060; case 405u: goto L_08A46068; case 406u: goto L_08A46070; case 407u: goto L_08A46080; case 408u: goto L_08A4608C; case 409u: goto L_08A460A4; case 410u: goto L_08A460D4; case 411u: goto L_08A460DC; case 412u: goto L_08A460E4; case 413u: goto L_08A46104; case 414u: goto L_08A4610C; case 415u: goto L_08A46118; case 416u: goto L_08A46138; case 417u: goto L_08A46144; case 418u: goto L_08A46148; case 419u: goto L_08A46150; case 420u: goto L_08A46160; case 421u: goto L_08A46180; case 422u: goto L_08A461A0; case 423u: goto L_08A461B8; case 424u: goto L_08A461C8; case 425u: goto L_08A461DC; case 426u: goto L_08A461F0; case 427u: goto L_08A46204; case 428u: goto L_08A46210; case 429u: goto L_08A46228; case 430u: goto L_08A46248; case 431u: goto L_08A4626C; case 432u: goto L_08A46280; case 433u: goto L_08A462AC; case 434u: goto L_08A462B0; case 435u: goto L_08A462B8; case 436u: goto L_08A462E8; case 437u: goto L_08A462F8; case 438u: goto L_08A4631C; case 439u: goto L_08A46330; case 440u: goto L_08A46338; case 441u: goto L_08A4633C; case 442u: goto L_08A46344; case 443u: goto L_08A46364; case 444u: goto L_08A463B4; case 445u: goto L_08A463E4; case 446u: goto L_08A463FC; case 447u: goto L_08A46404; case 448u: goto L_08A46420; case 449u: goto L_08A46440; case 450u: goto L_08A46448; case 451u: goto L_08A46450; case 452u: goto L_08A46458; case 453u: goto L_08A46460; case 454u: goto L_08A46468; case 455u: goto L_08A46478; case 456u: goto L_08A46488; case 457u: goto L_08A46498; case 458u: goto L_08A464A8; case 459u: goto L_08A464B8; case 460u: goto L_08A464C8; case 461u: goto L_08A464D8; case 462u: goto L_08A464E8; case 463u: goto L_08A464FC; case 464u: goto L_08A4650C; case 465u: goto L_08A46514; case 466u: goto L_08A4651C; case 467u: goto L_08A46534; case 468u: goto L_08A46538; case 469u: goto L_08A46544; case 470u: goto L_08A4654C; case 471u: goto L_08A46554; case 472u: goto L_08A4655C; case 473u: goto L_08A46564; case 474u: goto L_08A46570; case 475u: goto L_08A46590; case 476u: goto L_08A465B0; case 477u: goto L_08A465C4; case 478u: goto L_08A465DC; case 479u: goto L_08A465E4; case 480u: goto L_08A465EC; case 481u: goto L_08A465F4; case 482u: goto L_08A46604; case 483u: goto L_08A46614; case 484u: goto L_08A46618; case 485u: goto L_08A46620; case 486u: goto L_08A4662C; case 487u: goto L_08A46634; case 488u: goto L_08A4663C; case 489u: goto L_08A46640; case 490u: goto L_08A46648; case 491u: goto L_08A46650; case 492u: goto L_08A46660; case 493u: goto L_08A4666C; case 494u: goto L_08A46674; case 495u: goto L_08A4667C; case 496u: goto L_08A46684; case 497u: goto L_08A4668C; case 498u: goto L_08A46694; case 499u: goto L_08A466A0; case 500u: goto L_08A466A8; case 501u: goto L_08A466B0; case 502u: goto L_08A466B8; case 503u: goto L_08A466C8; case 504u: goto L_08A466D8; case 505u: goto L_08A466DC; case 506u: goto L_08A466E8; case 507u: goto L_08A466F4; case 508u: goto L_08A46704; case 509u: goto L_08A46720; case 510u: goto L_08A46724; case 511u: goto L_08A4672C; case 512u: goto L_08A46768; case 513u: goto L_08A46770; case 514u: goto L_08A46778; case 515u: goto L_08A467B8; case 516u: goto L_08A467D0; case 517u: goto L_08A467D8; case 518u: goto L_08A467E0; case 519u: goto L_08A467F4; case 520u: goto L_08A467FC; case 521u: goto L_08A4680C; case 522u: goto L_08A4681C; case 523u: goto L_08A46830; case 524u: goto L_08A46840; case 525u: goto L_08A46848; case 526u: goto L_08A46854; case 527u: goto L_08A46860; case 528u: goto L_08A46868; case 529u: goto L_08A46870; case 530u: goto L_08A46884; case 531u: goto L_08A4688C; case 532u: goto L_08A468DC; case 533u: goto L_08A46940; case 534u: goto L_08A46980; case 535u: goto L_08A4698C; case 536u: goto L_08A469A4; case 537u: goto L_08A469AC; case 538u: goto L_08A469B4; case 539u: goto L_08A469BC; case 540u: goto L_08A469C4; case 541u: goto L_08A469D4; case 542u: goto L_08A469D8; case 543u: goto L_08A469E0; case 544u: goto L_08A469E4; case 545u: goto L_08A469EC; case 546u: goto L_08A469F4; case 547u: goto L_08A469FC; case 548u: goto L_08A46A6C; case 549u: goto L_08A46A74; case 550u: goto L_08A46A7C; case 551u: goto L_08A46A88; case 552u: goto L_08A46A98; case 553u: goto L_08A46AA8; case 554u: goto L_08A46AB4; case 555u: goto L_08A46AB8; case 556u: goto L_08A46AD0; case 557u: goto L_08A46AE0; case 558u: goto L_08A46AF0; case 559u: goto L_08A46B00; case 560u: goto L_08A46B10; case 561u: goto L_08A46B20; case 562u: goto L_08A46B30; case 563u: goto L_08A46B38; case 564u: goto L_08A46B3C; case 565u: goto L_08A46B54; case 566u: goto L_08A46B58; case 567u: goto L_08A46B64; case 568u: goto L_08A46B6C; case 569u: goto L_08A46B74; case 570u: goto L_08A46B80; case 571u: goto L_08A46B94; case 572u: goto L_08A46BA8; case 573u: goto L_08A46BAC; case 574u: goto L_08A46BC8; case 575u: goto L_08A46BD4; case 576u: goto L_08A46BE0; case 577u: goto L_08A46BE8; case 578u: goto L_08A46BF4; case 579u: goto L_08A46BFC; case 580u: goto L_08A46C08; case 581u: goto L_08A46C14; case 582u: goto L_08A46C1C; case 583u: goto L_08A46C24; case 584u: goto L_08A46C34; case 585u: goto L_08A46C44; case 586u: goto L_08A46C50; case 587u: goto L_08A46C60; case 588u: goto L_08A46C68; case 589u: goto L_08A46C70; case 590u: goto L_08A46C78; case 591u: goto L_08A46C80; case 592u: goto L_08A46C8C; case 593u: goto L_08A46C94; case 594u: goto L_08A46C9C; case 595u: goto L_08A46CA4; case 596u: goto L_08A46CB4; case 597u: goto L_08A46CC4; case 598u: goto L_08A46CCC; case 599u: goto L_08A46CE8; case 600u: goto L_08A46D00; case 601u: goto L_08A46D08; case 602u: goto L_08A46D10; case 603u: goto L_08A46D18; case 604u: goto L_08A46D20; case 605u: goto L_08A46D28; case 606u: goto L_08A46D38; case 607u: goto L_08A46D40; case 608u: goto L_08A46D50; case 609u: goto L_08A46D58; case 610u: goto L_08A46D74; case 611u: goto L_08A46D8C; case 612u: goto L_08A46D94; case 613u: goto L_08A46D9C; case 614u: goto L_08A46DA4; case 615u: goto L_08A46DB4; case 616u: goto L_08A46DBC; case 617u: goto L_08A46DC8; case 618u: goto L_08A46DD0; case 619u: goto L_08A46DE8; case 620u: goto L_08A46DF0; case 621u: goto L_08A46E18; case 622u: goto L_08A46E24; case 623u: goto L_08A46E2C; case 624u: goto L_08A46E34; case 625u: goto L_08A46EA8; case 626u: goto L_08A46ED0; case 627u: goto L_08A46EF8; case 628u: goto L_08A46F00; case 629u: goto L_08A46F20; case 630u: goto L_08A46F40; case 631u: goto L_08A46F8C; case 632u: goto L_08A46F94; case 633u: goto L_08A46FB4; case 634u: goto L_08A46FF4; case 635u: goto L_08A46FF8; case 636u: goto L_08A47008; case 637u: goto L_08A47014; case 638u: goto L_08A47028; case 639u: goto L_08A4702C; case 640u: goto L_08A47034; case 641u: goto L_08A47048; case 642u: goto L_08A47088; case 643u: goto L_08A4708C; case 644u: goto L_08A470F8; case 645u: goto L_08A4713C; case 646u: goto L_08A4718C; case 647u: goto L_08A471CC; case 648u: goto L_08A471F4; case 649u: goto L_08A47200; case 650u: goto L_08A47224; case 651u: goto L_08A4722C; case 652u: goto L_08A47240; case 653u: goto L_08A4725C; case 654u: goto L_08A47268; case 655u: goto L_08A47278; case 656u: goto L_08A472E8; case 657u: goto L_08A47318; case 658u: goto L_08A47340; case 659u: goto L_08A47368; case 660u: goto L_08A4736C; case 661u: goto L_08A47374; case 662u: goto L_08A47380; case 663u: goto L_08A47388; case 664u: goto L_08A47390; case 665u: goto L_08A473A8; case 666u: goto L_08A473C4; case 667u: goto L_08A473D8; case 668u: goto L_08A473E0; case 669u: goto L_08A473E8; case 670u: goto L_08A473F0; case 671u: goto L_08A47400; case 672u: goto L_08A47428; case 673u: goto L_08A47434; case 674u: goto L_08A47470; case 675u: goto L_08A4749C; case 676u: goto L_08A474D0; case 677u: goto L_08A474D8; case 678u: goto L_08A4750C; case 679u: goto L_08A47514; case 680u: goto L_08A4751C; case 681u: goto L_08A47524; case 682u: goto L_08A4753C; case 683u: goto L_08A47544; case 684u: goto L_08A47558; case 685u: goto L_08A47564; case 686u: goto L_08A4756C; case 687u: goto L_08A4757C; case 688u: goto L_08A47588; case 689u: goto L_08A475B0; case 690u: goto L_08A475BC; case 691u: goto L_08A475F8; case 692u: goto L_08A47624; case 693u: goto L_08A47650; case 694u: goto L_08A47658; case 695u: goto L_08A4768C; case 696u: goto L_08A4769C; case 697u: goto L_08A476AC; case 698u: goto L_08A476BC; case 699u: goto L_08A476CC; case 700u: goto L_08A476DC; case 701u: goto L_08A476EC; case 702u: goto L_08A47704; case 703u: goto L_08A4770C; case 704u: goto L_08A47724; case 705u: goto L_08A4772C; case 706u: goto L_08A4773C; case 707u: goto L_08A47754; case 708u: goto L_08A4775C; case 709u: goto L_08A47774; case 710u: goto L_08A4777C; case 711u: goto L_08A47828; case 712u: goto L_08A4782C; case 713u: goto L_08A47840; case 714u: goto L_08A47850; case 715u: goto L_08A47854; case 716u: goto L_08A4785C; case 717u: goto L_08A47870; case 718u: goto L_08A47888; case 719u: goto L_08A4788C; case 720u: goto L_08A47898; case 721u: goto L_08A478D4; case 722u: goto L_08A478DC; case 723u: goto L_08A478E0; case 724u: goto L_08A47964; case 725u: goto L_08A47968; case 726u: goto L_08A4798C; case 727u: goto L_08A479CC; case 728u: goto L_08A479D8; case 729u: goto L_08A479F4; case 730u: goto L_08A47A00; case 731u: goto L_08A47A14; case 732u: goto L_08A47A24; case 733u: goto L_08A47A2C; case 734u: goto L_08A47A34; case 735u: goto L_08A47A3C; case 736u: goto L_08A47AF8; case 737u: goto L_08A47B14; case 738u: goto L_08A47B18; case 739u: goto L_08A47B2C; case 740u: goto L_08A47B3C; case 741u: goto L_08A47B40; case 742u: goto L_08A47B48; case 743u: goto L_08A47B5C; case 744u: goto L_08A47B74; case 745u: goto L_08A47B78; case 746u: goto L_08A47B84; case 747u: goto L_08A47BC0; case 748u: goto L_08A47BC8; case 749u: goto L_08A47BCC; case 750u: goto L_08A47BFC; case 751u: goto L_08A47C04; case 752u: goto L_08A47C1C; case 753u: goto L_08A47C74; case 754u: goto L_08A47CAC; case 755u: goto L_08A47CB8; case 756u: goto L_08A47CC4; case 757u: goto L_08A47CD4; case 758u: goto L_08A47CDC; case 759u: goto L_08A47CE4; case 760u: goto L_08A47CEC; case 761u: goto L_08A47D08; case 762u: goto L_08A47D10; case 763u: goto L_08A47D18; case 764u: goto L_08A47D24; case 765u: goto L_08A47D38; case 766u: goto L_08A47D48; case 767u: goto L_08A47DB8; case 768u: goto L_08A47E34; case 769u: goto L_08A47E4C; case 770u: goto L_08A47E6C; case 771u: goto L_08A47EA0; case 772u: goto L_08A47EA8; case 773u: goto L_08A47ED0; case 774u: goto L_08A47ED8; case 775u: goto L_08A47EF0; case 776u: goto L_08A47EF8; case 777u: goto L_08A47F2C; case 778u: goto L_08A47F34; case 779u: goto L_08A47F4C; case 780u: goto L_08A47F78; case 781u: goto L_08A47F8C; case 782u: goto L_08A47FA4; case 783u: goto L_08A47FBC; case 784u: goto L_08A47FC0; case 785u: goto L_08A47FCC; case 786u: goto L_08A47FEC; case 787u: goto L_08A47FFC; 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_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_08A44000: { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[16]; 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_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); { 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_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(0u); aot_gpr_4 = (16256u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08A44030; } goto L_08A44028; } L_08A44028: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08A44064; } goto L_08A44030; } L_08A44030: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 17u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[15]; 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 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { 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_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_29 + static_cast(20))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); goto L_08A44064; L_08A44064: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (49312u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16544u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A440A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A440A8u) goto L_08A440A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A440A8: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_6 = (aot_gpr_6 + static_cast(28)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1500u); aot_gpr_31 = (0x08A440C0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A440C0u) goto L_08A440C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A440C0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A440F4u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A440F4u) goto L_08A440F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A440F4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A443BC; } goto L_08A440FC; } L_08A440FC: aot_gpr_31 = (0x08A44104u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44104u) goto L_08A44104; AOT_REGCACHE_SYNC_OUT(); return; L_08A44104: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A44388; } goto L_08A4410C; } L_08A4410C: aot_gpr_31 = (0x08A44114u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44114u) goto L_08A44114; AOT_REGCACHE_SYNC_OUT(); return; L_08A44114: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A44310; } goto L_08A4411C; } L_08A4411C: ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A44248; } goto L_08A44140; } L_08A44140: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 12u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A441E0; } goto L_08A44168; } L_08A44168: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 13u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A441E0; } goto L_08A44190; } L_08A44190: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A441E0; } goto L_08A441B8; } L_08A441B8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 14u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A44248; } goto L_08A441E0; } L_08A441E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A441ECu); aot_gpr_5 = (0u | 214u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A441ECu) goto L_08A441EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A441EC: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A44244; } goto L_08A441F4; } L_08A441F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A44200u); aot_gpr_5 = (0u | 215u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44200u) goto L_08A44200; AOT_REGCACHE_SYNC_OUT(); return; L_08A44200: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A44244; } goto L_08A44208; } L_08A44208: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A44214u); aot_gpr_5 = (0u | 218u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44214u) goto L_08A44214; AOT_REGCACHE_SYNC_OUT(); return; L_08A44214: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A44244; } goto L_08A4421C; } L_08A4421C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A44228u); aot_gpr_5 = (0u | 216u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44228u) goto L_08A44228; AOT_REGCACHE_SYNC_OUT(); return; L_08A44228: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A44244; } goto L_08A44230; } L_08A44230: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A4423Cu); aot_gpr_5 = (0u | 217u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4423Cu) goto L_08A4423C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4423C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A44248; } goto L_08A44244; } L_08A44244: ctx.gpr[18] = (0u | 1u); goto L_08A44248; L_08A44248: { const bool branch_taken = ctx.gpr[18] != 0u; if (branch_taken) { goto L_08A44308; } goto L_08A44250; } L_08A44250: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3164))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A44308; } goto L_08A44264; } L_08A44264: aot_gpr_31 = (0x08A4426Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 281u, 0x088E2A9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4426Cu) goto L_08A4426C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4426C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A44284; } goto L_08A44278; L_08A44278: aot_gpr_31 = (0x08A44280u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44280u) goto L_08A44280; AOT_REGCACHE_SYNC_OUT(); return; L_08A44280: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A44284; L_08A44284: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_31 = (0x08A44294u); aot_gpr_6 = (aot_gpr_6 + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44294u) goto L_08A44294; AOT_REGCACHE_SYNC_OUT(); return; L_08A44294: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A442DC; } goto L_08A4429C; } L_08A4429C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A442B4; } goto L_08A442A8; L_08A442A8: aot_gpr_31 = (0x08A442B0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A442B0u) goto L_08A442B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A442B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A442B4; L_08A442B4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(32)); aot_gpr_31 = (0x08A442C8u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A442C8u) goto L_08A442C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A442C8: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A442DC; L_08A442DC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 28u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A442FC; } goto L_08A442EC; } L_08A442EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(2500)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(3164), aot_gpr_4); if (branch_taken) { goto L_08A44308; } goto L_08A442FC; } L_08A442FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(3164), aot_gpr_4); goto L_08A44308; L_08A44308: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A44388; } goto L_08A44310; } L_08A44310: aot_gpr_31 = (0x08A44318u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 281u, 0x088E2A9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44318u) goto L_08A44318; AOT_REGCACHE_SYNC_OUT(); return; L_08A44318: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A44330; } goto L_08A44324; L_08A44324: aot_gpr_31 = (0x08A4432Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4432Cu) goto L_08A4432C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4432C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A44330; L_08A44330: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_31 = (0x08A44340u); aot_gpr_6 = (aot_gpr_6 + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44340u) goto L_08A44340; AOT_REGCACHE_SYNC_OUT(); return; L_08A44340: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A44388; } goto L_08A44348; } L_08A44348: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A44360; } goto L_08A44354; L_08A44354: aot_gpr_31 = (0x08A4435Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4435Cu) goto L_08A4435C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4435C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A44360; L_08A44360: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(32)); aot_gpr_31 = (0x08A44374u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44374u) goto L_08A44374; AOT_REGCACHE_SYNC_OUT(); return; L_08A44374: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A44388; L_08A44388: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A443BCu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A443BCu) goto L_08A443BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A443BC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A445D0; } goto L_08A443C8; } L_08A443C8: aot_gpr_4 = (ctx.gpr[16] + static_cast(20)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08A443D8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 572u, 0x08A3FBC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A443D8u) goto L_08A443D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A443D8: { const std::uint32_t vfpu_address = ctx.gpr[18] + 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.gpr[19] = (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 = ctx.gpr[19] + 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); } ctx.gpr[20] = (0u | 8u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; ctx.gpr[21] = (aot_gpr_29 + static_cast(64)); if (branch_taken) { goto L_08A44428; } goto L_08A443F8; } L_08A443F8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 22u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A44428; } goto L_08A44408; } L_08A44408: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 21u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A44428; } goto L_08A44418; } L_08A44418: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 37u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A4442C; } goto L_08A44428; } L_08A44428: ctx.gpr[20] = (0u | 32u); goto L_08A4442C; L_08A4442C: { const std::uint32_t vfpu_address = ctx.gpr[19] + 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[17] + 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<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 = ctx.gpr[18] + 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 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[18] + 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_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A4446Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4446Cu) goto L_08A4446C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4446C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A444C4; } goto L_08A44474; } L_08A44474: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A444C4; } goto L_08A44484; } L_08A44484: ctx.fpr[20] = std::bit_cast(0u); goto L_08A44488; L_08A44488: aot_gpr_4 = (0u | 7u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A444B0u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A444B0u) goto L_08A444B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A444B0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A44488; } goto L_08A444C4; } L_08A444C4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 35u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A445D0; } goto L_08A444D4; } L_08A444D4: ctx.fpr[20] = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } ctx.gpr[16] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44510u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44510u) goto L_08A44510; AOT_REGCACHE_SYNC_OUT(); return; L_08A44510: aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (48716u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(ctx.fpr[20])); { const std::uint32_t vfpu_address = ctx.gpr[19] + 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.gpr[17] = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = ctx.gpr[17] + 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, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + 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 aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } ctx.gpr[18] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44580u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44580u) goto L_08A44580; AOT_REGCACHE_SYNC_OUT(); return; L_08A44580: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[17] + 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, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + 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 aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A445D0u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A445D0u) goto L_08A445D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A445D0: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(212), 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]); ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; ctx.gpr[21] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(256)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A44600: aot_gpr_29 = (aot_gpr_29 + static_cast(-432)); { const std::uint32_t aot_run_words[15]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.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(360), aot_run_words); } ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), aot_gpr_6); ctx.gpr[20] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[20] + static_cast(32), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[20] + static_cast(35), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x08A44670u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44670u) goto L_08A44670; AOT_REGCACHE_SYNC_OUT(); return; L_08A44670: aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[7] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08A44694; } goto L_08A4467C; } L_08A4467C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), aot_gpr_5); if (branch_taken) { goto L_08A4469C; } goto L_08A4468C; } L_08A4468C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(356))); if (branch_taken) { goto L_08A44FC4; } goto L_08A44694; } L_08A44694: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A4469C; } L_08A4469C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 6u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(356))); goto L_08A44FC4; } goto L_08A446BC; L_08A446BC: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A446DC; } goto L_08A446C4; } L_08A446C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), ctx.gpr[7]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); if (ctx.gpr[18] != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), ctx.gpr[7]); goto L_08A446E4; } goto L_08A446D4; L_08A446D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A44FC0; } goto L_08A446DC; } L_08A446DC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A446E4; } L_08A446E4: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[20] + static_cast(34), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[20] + static_cast(37), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[7] | 0u); aot_gpr_31 = (0x08A446FCu); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A446FCu) goto L_08A446FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A446FC: ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_08A447C8; } goto L_08A44708; } L_08A44708: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); ctx.gpr[23] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(31))); aot_gpr_4 = (ctx.gpr[20] + static_cast(3)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[20] + static_cast(7)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[20] + static_cast(11)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_14 = std::bit_cast(aot_gpr_5); { 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); } aot_gpr_4 = (ctx.gpr[20] + static_cast(15)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[20] + static_cast(19)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[20] + static_cast(23)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_14 = std::bit_cast(aot_gpr_5); { 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(16), aot_run_words); } ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(27)))))); aot_gpr_5 = (aot_gpr_4 & 16u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 32u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1252))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); ctx.gpr[22] = (0u | 57u); aot_gpr_5 = (16256u << 16u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; aot_fpr_22 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08A447D0; } goto L_08A447C0; } L_08A447C0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A447EC; } goto L_08A447C8; } L_08A447C8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A447D0; } L_08A447D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A447EC; } goto L_08A447E0; } L_08A447E0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_31 = (0x08A447ECu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A447ECu) goto L_08A447EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A447EC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_6 = (0u | 50u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08A44804u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44804u) goto L_08A44804; AOT_REGCACHE_SYNC_OUT(); return; L_08A44804: aot_gpr_31 = (0x08A4480Cu); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4480Cu) goto L_08A4480C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4480C: ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[22]; if (branch_taken) { goto L_08A44858; } goto L_08A4481C; } L_08A4481C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A44858; } goto L_08A4482C; } L_08A4482C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(28))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(27)))))); ctx.gpr[8] = (ctx.gpr[8] & 15u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08A44858u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44858u) goto L_08A44858; AOT_REGCACHE_SYNC_OUT(); return; L_08A44858: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A44CB4; } goto L_08A44864; } L_08A44864: aot_gpr_31 = (0x08A4486Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4486Cu) goto L_08A4486C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4486C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A44CB4; } goto L_08A44874; } L_08A44874: { const std::uint32_t vfpu_address = ctx.gpr[16] + 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_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16672u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); { const std::uint32_t vfpu_address = ctx.gpr[16] + 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_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[16] = (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 = ctx.gpr[16] + 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); } ctx.fpr[26] = std::bit_cast(0u); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A448DCu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A448DCu) goto L_08A448DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A448DC: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44904u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44904u) goto L_08A44904; AOT_REGCACHE_SYNC_OUT(); return; L_08A44904: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A4492Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4492Cu) goto L_08A4492C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4492C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(344))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 11u); if (branch_taken) { goto L_08A44A1C; } goto L_08A44938; } L_08A44938: aot_gpr_4 = (48460u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A44954u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44954u) goto L_08A44954; AOT_REGCACHE_SYNC_OUT(); return; L_08A44954: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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 = ctx.fpr[24] + aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A44974u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44974u) goto L_08A44974; AOT_REGCACHE_SYNC_OUT(); return; L_08A44974: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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 = ctx.fpr[24] + aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A449B4u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A449B4u) goto L_08A449B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A449B4: aot_gpr_31 = (0x08A449BCu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A449BCu) goto L_08A449BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A449BC: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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 = ctx.fpr[24] + aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A449DCu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A449DCu) goto L_08A449DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A449DC: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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 = ctx.fpr[24] + aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44A1Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44A1Cu) goto L_08A44A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44A1C: { const bool branch_taken = ctx.gpr[23] != ctx.gpr[17]; if (branch_taken) { goto L_08A44BBC; } goto L_08A44A24; } L_08A44A24: aot_gpr_4 = (0u | 58u); aot_gpr_5 = (15948u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); { const bool branch_taken = ctx.gpr[21] == aot_gpr_4; ctx.fpr[24] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08A44A4C; } goto L_08A44A38; } L_08A44A38: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_5 = (aot_gpr_5 + static_cast(17)); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A44A68; } goto L_08A44A4C; } L_08A44A4C: { const bool branch_taken = ctx.gpr[21] != aot_gpr_4; if (branch_taken) { goto L_08A44A9C; } goto L_08A44A54; } L_08A44A54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 + static_cast(17)); aot_gpr_4 = (aot_gpr_4 & 3u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A44A9C; } goto L_08A44A68; } L_08A44A68: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (0u | 81u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44A9Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44A9Cu) goto L_08A44A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44A9C: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[16] + 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.gpr[17] = (aot_gpr_29 + static_cast(80)); { const std::uint32_t vfpu_address = ctx.gpr[17] + 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, 0u>(); ctx.gpr[21] = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + 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 = (0u | 7u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44AE8u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44AE8u) goto L_08A44AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A44AE8: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[16] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[21] + 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, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + 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 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44B2Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44B2Cu) goto L_08A44B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44B2C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[16] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[21] + 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, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + 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 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44B7Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44B7Cu) goto L_08A44B7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44B7C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 10u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44BBCu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44BBCu) goto L_08A44BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A44BBC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(64))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A44CB4; } goto L_08A44BCC; } L_08A44BCC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_5 = (15692u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { 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_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { 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_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_6 = (15820u << 16u); aot_gpr_6 = (aot_gpr_6 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); { 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<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + 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); } { 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); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + 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 = (0x08A44C3Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); 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 == 0x08A44C3Cu) goto L_08A44C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44C3C: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44C64u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44C64u) goto L_08A44C64; AOT_REGCACHE_SYNC_OUT(); return; L_08A44C64: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44C8Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44C8Cu) goto L_08A44C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44C8C: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A44CB4u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44CB4u) goto L_08A44CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A44CB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 45u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A44EC8; } goto L_08A44CF8; } L_08A44CF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[22]; if (branch_taken) { goto L_08A44EC8; } goto L_08A44D04; } L_08A44D04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A44EC8; } goto L_08A44D14; } L_08A44D14: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1252))); ctx.fpr[24] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A44FC0; } goto L_08A44D2C; } L_08A44D2C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1252))); aot_gpr_4 = (16880u << 16u); aot_fpr_12 = 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_08A44D58; } goto L_08A44D48; } L_08A44D48: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A44D7C; } goto L_08A44D58; } L_08A44D58: aot_gpr_31 = (0x08A44D60u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44D60u) goto L_08A44D60; AOT_REGCACHE_SYNC_OUT(); return; L_08A44D60: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A44FC0; } goto L_08A44D68; } L_08A44D68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(344))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08A44D7C; } goto L_08A44D74; } L_08A44D74: { const bool branch_taken = ctx.gpr[23] != aot_gpr_4; if (branch_taken) { goto L_08A44FC0; } goto L_08A44D7C; } L_08A44D7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); { 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; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { 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_12 = aot_fpr_12 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (0u | 11u); if (branch_taken) { goto L_08A44DA8; } goto L_08A44DA0; } L_08A44DA0: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_22)); if (branch_taken) { goto L_08A44DDC; } goto L_08A44DA8; } L_08A44DA8: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 17u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_14; const float ft = aot_fpr_22; 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 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A44DDC; L_08A44DDC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_5); { const bool branch_taken = ctx.gpr[23] != aot_gpr_4; if (branch_taken) { goto L_08A44E30; } goto L_08A44DF4; } L_08A44DF4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (49152u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16384u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A44E28u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44E28u) goto L_08A44E28; AOT_REGCACHE_SYNC_OUT(); return; L_08A44E28: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A44E64; } goto L_08A44E30; } L_08A44E30: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (49312u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16448u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A44E64u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44E64u) goto L_08A44E64; AOT_REGCACHE_SYNC_OUT(); return; L_08A44E64: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(344))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A44EA4; } goto L_08A44E70; } L_08A44E70: aot_gpr_31 = (0x08A44E78u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44E78u) goto L_08A44E78; AOT_REGCACHE_SYNC_OUT(); return; L_08A44E78: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A44EA4; } goto L_08A44E80; } L_08A44E80: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(27)))))); aot_gpr_6 = (aot_gpr_4 & 15u); aot_gpr_6 = (aot_gpr_6 + static_cast(28)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 3000u); aot_gpr_31 = (0x08A44E9Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44E9Cu) goto L_08A44E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44E9C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A44FC0; } goto L_08A44EA4; } L_08A44EA4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(27)))))); aot_gpr_6 = (aot_gpr_4 & 15u); aot_gpr_6 = (aot_gpr_6 + static_cast(28)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 1500u); aot_gpr_31 = (0x08A44EC0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44EC0u) goto L_08A44EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A44EC0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A44FC0; } goto L_08A44EC8; } L_08A44EC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; if (branch_taken) { goto L_08A44FC0; } goto L_08A44ED4; } L_08A44ED4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(352))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A44FC0; } goto L_08A44EE0; } L_08A44EE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); { 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; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { 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_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (0u | 11u); if (branch_taken) { goto L_08A44F10; } goto L_08A44F08; } L_08A44F08: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_22)); if (branch_taken) { goto L_08A44F44; } goto L_08A44F10; } L_08A44F10: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 17u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_14; const float ft = aot_fpr_22; 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 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A44F44; L_08A44F44: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_5); { const bool branch_taken = ctx.gpr[23] != aot_gpr_4; if (branch_taken) { goto L_08A44F8C; } goto L_08A44F5C; } L_08A44F5C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); { 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_22)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A44F84u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44F84u) goto L_08A44F84; AOT_REGCACHE_SYNC_OUT(); return; L_08A44F84: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A44FC0; } goto L_08A44F8C; } L_08A44F8C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (49312u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16448u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A44FC0u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44FC0u) goto L_08A44FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A44FC0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(356))); goto L_08A44FC4; L_08A44FC4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A44FE0; } L_08A44FE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(348))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[20] + static_cast(32), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[20] + static_cast(35), aot_gpr_6)); aot_gpr_31 = (0x08A44FFCu); aot_gpr_6 = (aot_gpr_6 & 65535u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44FFCu) goto L_08A44FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A44FFC: aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4502C; } goto L_08A45008; } L_08A45008: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45024; } goto L_08A45010; } L_08A45010: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); { const bool branch_taken = ctx.gpr[16] != 0u; if (branch_taken) { goto L_08A45034; } goto L_08A4501C; } L_08A4501C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A45024; } L_08A45024: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A4502C; } L_08A4502C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A45034; } L_08A45034: ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(31))); { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A45040; } L_08A45040: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4507C; } goto L_08A4504C; } L_08A4504C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A4507C; } goto L_08A4505C; } L_08A4505C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A4507C; } goto L_08A4506C; } L_08A4506C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A452F4; } goto L_08A4507C; } L_08A4507C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.gpr[18] = (aot_mem.aot_direct_load_word_right(ctx.gpr[20] + static_cast(36), ctx.gpr[18])); ctx.gpr[18] = (aot_mem.aot_direct_load_word_left(ctx.gpr[20] + static_cast(39), ctx.gpr[18])); ctx.gpr[18] = (ctx.gpr[18] & 65535u); aot_gpr_31 = (0x08A45094u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45094u) goto L_08A45094; AOT_REGCACHE_SYNC_OUT(); return; L_08A45094: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(416)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(188))); aot_gpr_6 = (15395u << 16u); aot_gpr_6 = (aot_gpr_6 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_6); { 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_6 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(28))); aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { 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; } ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); jump_target = ctx.gpr[10]; aot_gpr_31 = (0x08A450E8u); ctx.gpr[9] = (0u | 42u); 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 == 0x08A450E8u) goto L_08A450E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A450E8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[20] = (0u | 3u); if (branch_taken) { goto L_08A45108; } goto L_08A450FC; } L_08A450FC: aot_gpr_4 = (ctx.gpr[17] << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); goto L_08A45108; L_08A45108: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; if (branch_taken) { goto L_08A45158; } goto L_08A45114; } L_08A45114: ctx.fpr[20] = std::bit_cast(0u); aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x08A45124u); aot_fpr_22 = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45124u) goto L_08A45124; AOT_REGCACHE_SYNC_OUT(); return; L_08A45124: aot_fpr_12 = aot_fpr_22 - ctx.fpr[20]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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 = ctx.fpr[20] + aot_fpr_12; aot_gpr_4 = (16128u << 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_08A451E0; } goto L_08A45148; } L_08A45148: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(533)))))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A451E0; } goto L_08A45158; } L_08A45158: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A452F4; } goto L_08A45164; } L_08A45164: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A452F4; } goto L_08A45178; } L_08A45178: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A452F4; } goto L_08A4518C; } L_08A4518C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; if (branch_taken) { goto L_08A452F4; } goto L_08A4519C; } L_08A4519C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; if (branch_taken) { goto L_08A451D4; } goto L_08A451A8; } L_08A451A8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16320u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_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[16] + static_cast(535), static_cast(aot_gpr_4)); goto L_08A451D4; L_08A451D4: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(532), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08A452F4; } goto L_08A451E0; } L_08A451E0: ctx.gpr[18] = (0u | 200u); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08A45260; } goto L_08A451F0; } L_08A451F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A45260; } goto L_08A45200; } L_08A45200: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1364))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(22)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45244; } goto L_08A45218; } L_08A45218: aot_gpr_31 = (0x08A45220u); ctx.gpr[18] = (0u | 8u); 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 == 0x08A45220u) goto L_08A45220; AOT_REGCACHE_SYNC_OUT(); return; L_08A45220: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08A45230u); aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45230u) goto L_08A45230; AOT_REGCACHE_SYNC_OUT(); return; L_08A45230: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(10000)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1756), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(640), ctx.gpr[18]); if (branch_taken) { goto L_08A45250; } goto L_08A45244; } L_08A45244: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45250u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45250u) goto L_08A45250; AOT_REGCACHE_SYNC_OUT(); return; L_08A45250: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(200)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1728), aot_gpr_4); ctx.gpr[18] = (0u | 400u); goto L_08A45260; L_08A45260: ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 2u); if (branch_taken) { goto L_08A452F4; } goto L_08A45274; } L_08A45274: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A45280u); aot_gpr_5 = (ctx.gpr[19] | 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 == 0x08A45280u) goto L_08A45280; AOT_REGCACHE_SYNC_OUT(); return; L_08A45280: ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_08A452E0; } goto L_08A4528C; } L_08A4528C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(2276))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; if (branch_taken) { goto L_08A452E0; } goto L_08A45298; } L_08A45298: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1364))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(22)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A452C4; } goto L_08A452B0; } L_08A452B0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A452BCu); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A452BCu) goto L_08A452BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A452BC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A452D0; } goto L_08A452C4; } L_08A452C4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A452D0u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A452D0u) goto L_08A452D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A452D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(1728), aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] + static_cast(200)); goto L_08A452E0; L_08A452E0: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A45274; } goto L_08A452F4; } L_08A452F4: { std::uint32_t aot_run_words[15]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(360), 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]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; ctx.gpr[22] = aot_run_words[11]; ctx.gpr[23] = aot_run_words[12]; ctx.gpr[30] = aot_run_words[13]; aot_gpr_31 = aot_run_words[14]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(432)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A45338: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); { const std::uint32_t aot_run_words[9]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(172), aot_run_words); } ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 1u); ctx.fpr[20] = std::bit_cast(0u); 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(ctx.fpr[20])); ctx.gpr[7] = (16153u << 16u); ctx.gpr[7] = (ctx.gpr[7] | 39322u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08A45408; } goto L_08A45394; } L_08A45394: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45408; } goto L_08A453B0; } L_08A453B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 31u)); aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6308))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6312))); aot_gpr_31 = (0x08A453CCu); aot_gpr_6 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 178u, 0x08B60E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A453CCu) goto L_08A453CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A453CC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6292))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6296))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6284))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6288))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; if (branch_taken) { goto L_08A453F4; } goto L_08A453EC; } L_08A453EC: { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; if (branch_taken) { goto L_08A45408; } goto L_08A453F4; } L_08A453F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(472))); aot_gpr_5 = (49152u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(472), aot_gpr_4); goto L_08A45408; L_08A45408: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 39u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A45428; } goto L_08A45418; } L_08A45418: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A45430; } goto L_08A45420; } L_08A45420: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45450; } goto L_08A45428; } L_08A45428: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A45EF4; } goto L_08A45430; } L_08A45430: ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45444u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 568u, 0x08A3FB50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45444u) goto L_08A45444; AOT_REGCACHE_SYNC_OUT(); return; L_08A45444: { const std::uint32_t vfpu_address = ctx.gpr[18] + 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); } ctx.gpr[18] = (aot_gpr_29 | 0u); goto L_08A45450; L_08A45450: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A454A4; } goto L_08A4546C; } L_08A4546C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A454A4; } goto L_08A45478; } L_08A45478: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + 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_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (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_5 + 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 = (0x08A454A4u); aot_gpr_4 = (ctx.gpr[18] | 0u); 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 == 0x08A454A4u) goto L_08A454A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A454A4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45584; } goto L_08A454B0; } L_08A454B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_4 = (17204u << 16u); 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); aot_fpr_22 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08A454E8; } goto L_08A454D0; } L_08A454D0: 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_08A454E8; } goto L_08A454E0; } L_08A454E0: { 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_08A454F4; } goto L_08A454E8; } L_08A454E8: aot_gpr_31 = (0x08A454F0u); 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 == 0x08A454F0u) goto L_08A454F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A454F0: { 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_08A454F4; L_08A454F4: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_22 / aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (15502u << 16u); aot_gpr_4 = (aot_gpr_4 | 64012u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { 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_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (48665u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; 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_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15897u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; 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; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(aot_fpr_12)); goto L_08A45584; L_08A45584: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A455A0; } goto L_08A45590; } L_08A45590: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A455B0; } goto L_08A455A0; } L_08A455A0: if (ctx.gpr[17] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); goto L_08A455B8; } goto L_08A455A8; L_08A455A8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45608; } goto L_08A455B0; } L_08A455B0: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A45EF4; } goto L_08A455B8; } L_08A455B8: aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45608; } goto L_08A455D0; } L_08A455D0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2076))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A45608; } goto L_08A455E0; } L_08A455E0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); aot_gpr_6 = (aot_gpr_6 & 14u); aot_gpr_6 = (aot_gpr_6 ^ 6u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A45608; } goto L_08A455FC; } L_08A455FC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08A45608u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 1149u, 0x08937FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45608u) goto L_08A45608; AOT_REGCACHE_SYNC_OUT(); return; L_08A45608: aot_gpr_31 = (0x08A45610u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45610u) goto L_08A45610; AOT_REGCACHE_SYNC_OUT(); return; L_08A45610: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45E3C; } goto L_08A4561C; } L_08A4561C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_08A4565C; } goto L_08A45628; } L_08A45628: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08A45654; } goto L_08A45634; } L_08A45634: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A45654; } goto L_08A45644; } L_08A45644: aot_gpr_31 = (0x08A4564Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 212u, 0x08A40FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4564Cu) goto L_08A4564C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4564C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A4565C; } goto L_08A45654; } L_08A45654: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A45EF4; } goto L_08A4565C; } L_08A4565C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(-12)); aot_gpr_5 = (aot_gpr_4 < static_cast(27) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A45670; } L_08A45670: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(6664))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A45688: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45698u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 239u, 0x08A4D824u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45698u) goto L_08A45698; AOT_REGCACHE_SYNC_OUT(); return; L_08A45698: ctx.gpr[19] = (aot_gpr_2 | 0u); ctx.gpr[20] = (0u | 1u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A456A8; } L_08A456A8: aot_gpr_31 = (0x08A456B0u); 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 == 0x08A456B0u) goto L_08A456B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A456B0: { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; if (branch_taken) { goto L_08A456CC; } goto L_08A456B8; } L_08A456B8: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A456C4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 282u, 0x08A4DE30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A456C4u) goto L_08A456C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A456C4: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A456EC; } goto L_08A456CC; } L_08A456CC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08A456E8u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A456E8u) goto L_08A456E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A456E8: ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A456EC; L_08A456EC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A456F4; } L_08A456F4: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(1976)))))); aot_gpr_6 = (0u | 34u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08A4571C; } goto L_08A4570C; } L_08A4570C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(1976)))))); aot_gpr_5 = (0u | 45u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A45744; } goto L_08A4571C; } L_08A4571C: aot_gpr_31 = (0x08A45724u); 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 == 0x08A45724u) goto L_08A45724; AOT_REGCACHE_SYNC_OUT(); return; L_08A45724: { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; if (branch_taken) { goto L_08A45744; } goto L_08A4572C; } L_08A4572C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A45738u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 378u, 0x08A4E990u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45738u) goto L_08A45738; AOT_REGCACHE_SYNC_OUT(); return; L_08A45738: ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (0u | 1u); if (branch_taken) { goto L_08A4582C; } goto L_08A45744; } L_08A45744: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45808; } goto L_08A45760; } L_08A45760: ctx.gpr[20] = (0u | 0u); ctx.gpr[21] = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A457A0; } goto L_08A45778; } L_08A45778: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A457A0; } goto L_08A45784; } L_08A45784: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); ctx.gpr[20] = (aot_gpr_5 & 512u); ctx.gpr[20] = (0u < ctx.gpr[20] ? 1u : 0u); aot_gpr_6 = (0u + static_cast(-513)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08A457A0; L_08A457A0: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08A457BCu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A457BCu) goto L_08A457BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A457BC: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45800; } goto L_08A457D0; } L_08A457D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45800; } goto L_08A457DC; } L_08A457DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_6 = (ctx.gpr[20] & 255u); ctx.gpr[7] = (0u + static_cast(-513)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 & 1u); aot_gpr_6 = (aot_gpr_6 << 9u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08A45800; L_08A45800: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45828; } goto L_08A45808; } L_08A45808: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08A45824u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45824u) goto L_08A45824; AOT_REGCACHE_SYNC_OUT(); return; L_08A45824: ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A45828; L_08A45828: ctx.gpr[20] = (0u | 0u); goto L_08A4582C; L_08A4582C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A45834; } L_08A45834: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A458EC; } goto L_08A45848; } L_08A45848: aot_gpr_31 = (0x08A45850u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45850u) goto L_08A45850; AOT_REGCACHE_SYNC_OUT(); return; L_08A45850: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A458EC; } goto L_08A45858; } L_08A45858: aot_gpr_31 = (0x08A45860u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45860u) goto L_08A45860; AOT_REGCACHE_SYNC_OUT(); return; L_08A45860: aot_gpr_4 = (ctx.gpr[17] + 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_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<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); } aot_gpr_4 = (aot_gpr_29 + static_cast(64)); { 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>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16640u << 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_08A458C4; } goto L_08A458B4; } L_08A458B4: aot_gpr_31 = (0x08A458BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A458BCu) goto L_08A458BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A458BC: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A458E0; } goto L_08A458C4; } L_08A458C4: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A458D8u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A458D8u) goto L_08A458D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A458D8: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A458E4; } goto L_08A458E0; } L_08A458E0: ctx.gpr[19] = (0u | 0u); goto L_08A458E4; L_08A458E4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45904; } goto L_08A458EC; } L_08A458EC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A45900u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45900u) goto L_08A45900; AOT_REGCACHE_SYNC_OUT(); return; L_08A45900: ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A45904; L_08A45904: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A4590C; } L_08A4590C: aot_gpr_31 = (0x08A45914u); 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 == 0x08A45914u) goto L_08A45914; AOT_REGCACHE_SYNC_OUT(); return; L_08A45914: { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; if (branch_taken) { goto L_08A45948; } goto L_08A4591C; } L_08A4591C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3168))); aot_gpr_4 = (16853u << 16u); aot_gpr_4 = (aot_gpr_4 | 21845u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45940u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45940u) goto L_08A45940; AOT_REGCACHE_SYNC_OUT(); return; L_08A45940: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A45A40; } goto L_08A45948; } L_08A45948: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A45A20; } goto L_08A4595C; } L_08A4595C: aot_gpr_31 = (0x08A45964u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45964u) goto L_08A45964; AOT_REGCACHE_SYNC_OUT(); return; L_08A45964: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A45A20; } goto L_08A4596C; } L_08A4596C: aot_gpr_31 = (0x08A45974u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45974u) goto L_08A45974; AOT_REGCACHE_SYNC_OUT(); return; L_08A45974: aot_gpr_4 = (ctx.gpr[17] + 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_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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { 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); } aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { 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>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16672u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (15523u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { 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_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_14 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08A459F0; } goto L_08A459EC; } L_08A459EC: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_08A459F0; L_08A459F0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A45A04; } goto L_08A45A00; } L_08A45A00: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); goto L_08A45A04; L_08A45A04: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45A14u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A14u) goto L_08A45A14; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A14: ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45A40; } goto L_08A45A20; } L_08A45A20: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45A3Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A3Cu) goto L_08A45A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A3C: ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A45A40; L_08A45A40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 13u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A45A94; } goto L_08A45A50; } L_08A45A50: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 36u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08A45A64u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A64u) goto L_08A45A64; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A64: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45A70u); aot_gpr_5 = (0u | 36u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A70u) goto L_08A45A70; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A70: aot_gpr_4 = (aot_gpr_2 << 5u); aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45A94u); aot_gpr_5 = (0u | 36u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A94u) goto L_08A45A94; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A94: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A45A9C; } L_08A45A9C: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45AB8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45AB8u) goto L_08A45AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A45AB8: ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A45AC4; } L_08A45AC4: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45AD4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 683u, 0x08A4BB5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45AD4u) goto L_08A45AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A45AD4: ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A45AE0; } L_08A45AE0: aot_gpr_31 = (0x08A45AE8u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 68u, 0x0889462Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45AE8u) goto L_08A45AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A45AE8: ctx.gpr[19] = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[19]); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A45AFC; } L_08A45AFC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A45B08u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 327u, 0x08A4E3A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B08u) goto L_08A45B08; AOT_REGCACHE_SYNC_OUT(); return; L_08A45B08: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A45B14u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 261u, 0x088E29C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B14u) goto L_08A45B14; AOT_REGCACHE_SYNC_OUT(); return; L_08A45B14: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45B1C; } goto L_08A45B1C; } L_08A45B1C: { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_08A45ECC; } goto L_08A45B24; } L_08A45B24: ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45BDC; } goto L_08A45B44; } L_08A45B44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 38u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A45B78; } goto L_08A45B54; } L_08A45B54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_5 = (128u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08A45B6Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B6Cu) goto L_08A45B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A45B6C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A45B78; } goto L_08A45B74; } L_08A45B74: ctx.gpr[18] = (0u | 1u); goto L_08A45B78; L_08A45B78: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 55u); aot_gpr_31 = (0x08A45B94u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B94u) goto L_08A45B94; AOT_REGCACHE_SYNC_OUT(); return; L_08A45B94: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A45BDC; } goto L_08A45B9C; } L_08A45B9C: aot_gpr_31 = (0x08A45BA4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45BA4u) goto L_08A45BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A45BA4: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A45BDC; } goto L_08A45BAC; } L_08A45BAC: aot_gpr_31 = (0x08A45BB4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45BB4u) goto L_08A45BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A45BB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45BDC; } goto L_08A45BD0; } L_08A45BD0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45BDCu); aot_gpr_5 = (0u | 115u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45BDCu) goto L_08A45BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A45BDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(-12)); aot_gpr_5 = (aot_gpr_4 < static_cast(26) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A45C40; } goto L_08A45BF0; } L_08A45BF0: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(6776))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A45C08: aot_gpr_31 = (0x08A45C10u); 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 == 0x08A45C10u) goto L_08A45C10; AOT_REGCACHE_SYNC_OUT(); return; L_08A45C10: { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; if (branch_taken) { goto L_08A45C24; } goto L_08A45C18; } L_08A45C18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9316))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9316), aot_gpr_4); goto L_08A45C24; L_08A45C24: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45C40; } goto L_08A45C2C; } L_08A45C2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9324))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9324), aot_gpr_4); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45C40; } goto L_08A45C40; } L_08A45C40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08A45C58; } goto L_08A45C4C; } L_08A45C4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); goto L_08A45C58; L_08A45C58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08A45CCC; } goto L_08A45C64; } L_08A45C64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (static_cast(aot_gpr_4) < 25000 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A45C7C; } goto L_08A45C74; } L_08A45C74: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A45CCC; } goto L_08A45C7C; } L_08A45C7C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A45CC0; } goto L_08A45C88; } L_08A45C88: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A45CC0; } goto L_08A45C90; } L_08A45C90: aot_gpr_31 = (0x08A45C98u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 223u, 0x0899103Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45C98u) goto L_08A45C98; AOT_REGCACHE_SYNC_OUT(); return; L_08A45C98: aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A45CC0; } goto L_08A45CB0; } L_08A45CB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 36u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A45CCC; } goto L_08A45CC0; } L_08A45CC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); goto L_08A45CCC; L_08A45CCC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A45D04; } goto L_08A45CD8; } L_08A45CD8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 33u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A45D04; } goto L_08A45CE8; } L_08A45CE8: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 58u); aot_gpr_31 = (0x08A45D04u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D04u) goto L_08A45D04; AOT_REGCACHE_SYNC_OUT(); return; L_08A45D04: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A45E08; } goto L_08A45D18; } L_08A45D18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_08A45D78; } goto L_08A45D24; } L_08A45D24: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 46u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A45D70; } goto L_08A45D5C; } L_08A45D5C: aot_gpr_31 = (0x08A45D64u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D64u) goto L_08A45D64; AOT_REGCACHE_SYNC_OUT(); return; L_08A45D64: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A45D70u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 941u, 0x0898BA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D70u) goto L_08A45D70; AOT_REGCACHE_SYNC_OUT(); return; L_08A45D70: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08A45EF4; } goto L_08A45D78; } L_08A45D78: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_31 = (0x08A45D88u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D88u) goto L_08A45D88; AOT_REGCACHE_SYNC_OUT(); return; L_08A45D88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); 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[16] + static_cast(20), aot_gpr_4); aot_gpr_31 = (0x08A45DA0u); 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 == 0x08A45DA0u) goto L_08A45DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A45DA0: { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; if (branch_taken) { goto L_08A45E00; } goto L_08A45DA8; } L_08A45DA8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(334))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45E00; } goto L_08A45DD8; } L_08A45DD8: aot_gpr_31 = (0x08A45DE0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45DE0u) goto L_08A45DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A45DE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_gpr_5 = (aot_gpr_5 >> 30u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); 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[16] + static_cast(20), aot_gpr_4); goto L_08A45E00; L_08A45E00: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08A45EF4; } goto L_08A45E08; } L_08A45E08: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_08A45E2C; } goto L_08A45E10; } L_08A45E10: aot_gpr_31 = (0x08A45E18u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45E18u) goto L_08A45E18; AOT_REGCACHE_SYNC_OUT(); return; L_08A45E18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); if (branch_taken) { goto L_08A45E34; } goto L_08A45E2C; } L_08A45E2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); goto L_08A45E34; L_08A45E34: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A45ECC; } goto L_08A45E3C; } L_08A45E3C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.gpr[20] = (0u | 1u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; if (branch_taken) { goto L_08A45EBC; } goto L_08A45E4C; } L_08A45E4C: aot_gpr_31 = (0x08A45E54u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45E54u) goto L_08A45E54; AOT_REGCACHE_SYNC_OUT(); return; L_08A45E54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); 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[16] + static_cast(20), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45EBC; } goto L_08A45E84; } L_08A45E84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A45EBC; } goto L_08A45E94; } L_08A45E94: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08A45EBCu); aot_gpr_6 = (0u | 189u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45EBCu) goto L_08A45EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A45EBC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45ECCu); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08A46364; L_08A45ECC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A45EE8; } goto L_08A45ED8; } L_08A45ED8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A45EF0; } goto L_08A45EE8; } L_08A45EE8: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A45EF4; } goto L_08A45EF0; } L_08A45EF0: aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08A45EF4; L_08A45EF4: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(172), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(208)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A45F20: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.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); } ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A45F50u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45F50u) goto L_08A45F50; AOT_REGCACHE_SYNC_OUT(); return; L_08A45F50: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { goto L_08A45F7C; } goto L_08A45F64; } L_08A45F64: { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); if (branch_taken) { goto L_08A46344; } goto L_08A45F6C; } L_08A45F6C: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A45F98; } goto L_08A45F74; } L_08A45F74: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46068; } goto L_08A45F7C; } L_08A45F7C: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 5 ? 1u : 0u); if (branch_taken) { goto L_08A46344; } goto L_08A45F84; } L_08A45F84: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46344; } goto L_08A45F8C; } L_08A45F8C: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46344; } goto L_08A45F98; } L_08A45F98: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 23u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); if (branch_taken) { goto L_08A45FC0; } goto L_08A45FAC; } L_08A45FAC: aot_gpr_5 = (0u | 22u); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; aot_gpr_5 = (0u | 21u); if (branch_taken) { goto L_08A45FC0; } goto L_08A45FB8; } L_08A45FB8: { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; if (branch_taken) { goto L_08A46020; } goto L_08A45FC0; } L_08A45FC0: { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; if (branch_taken) { goto L_08A46020; } goto L_08A45FC8; } L_08A45FC8: aot_gpr_5 = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[8] = (2234u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(13600)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7668))); ctx.gpr[8] = (ctx.gpr[8] < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_5 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08A46020; } goto L_08A45FF0; } L_08A45FF0: { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08A46020; } goto L_08A45FF8; } L_08A45FF8: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A46018u); aot_gpr_6 = (0u | 56u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46018u) goto L_08A46018; AOT_REGCACHE_SYNC_OUT(); return; L_08A46018: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); goto L_08A46020; L_08A46020: aot_gpr_4 = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46060; } goto L_08A4602C; } L_08A4602C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4605C; } goto L_08A46038; } L_08A46038: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A4605C; } goto L_08A46044; } L_08A46044: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_31 = (0x08A46054u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 664u, 0x088F3578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46054u) goto L_08A46054; AOT_REGCACHE_SYNC_OUT(); return; L_08A46054: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46060; } goto L_08A4605C; } L_08A4605C: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); goto L_08A46060; L_08A46060: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46344; } goto L_08A46068; } L_08A46068: { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; if (branch_taken) { goto L_08A4631C; } goto L_08A46070; } L_08A46070: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (static_cast(aot_gpr_4) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4631C; } goto L_08A46080; } L_08A46080: ctx.gpr[20] = (0u | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A46148; } goto L_08A4608C; } L_08A4608C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46148; } goto L_08A460A4; } L_08A460A4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(334))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A460E4; } goto L_08A460D4; } L_08A460D4: aot_gpr_31 = (0x08A460DCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A460DCu) goto L_08A460DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A460DC: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A46148; } goto L_08A460E4; } L_08A460E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); ctx.gpr[20] = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 32768u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 != 0u) { ctx.gpr[20] = (0u | 216u); goto L_08A46104; } goto L_08A46104; L_08A46104: aot_gpr_31 = (0x08A4610Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4610Cu) goto L_08A4610C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4610C: ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] != 0u; if (branch_taken) { goto L_08A46148; } goto L_08A46118; } L_08A46118: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 32768u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (0u | 217u); goto L_08A46138; } goto L_08A46138; L_08A46138: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A46144u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46144u) goto L_08A46144; AOT_REGCACHE_SYNC_OUT(); return; L_08A46144: ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_08A46148; L_08A46148: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_08A462B8; } goto L_08A46150; } L_08A46150: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A462B8; } goto L_08A46160; } L_08A46160: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); 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_08A462B8; } goto L_08A46180; } L_08A46180: aot_gpr_4 = (16192u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-13)); aot_gpr_5 = (ctx.gpr[19] < static_cast(8) ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(32))); { const bool branch_taken = aot_gpr_5 == 0u; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(40))); if (branch_taken) { goto L_08A46210; } goto L_08A461A0; } L_08A461A0: ctx.gpr[19] = (ctx.gpr[19] << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[19]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(6880))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A461B8: aot_gpr_5 = (2234u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(7816))); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46210; } goto L_08A461C8; } L_08A461C8: aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(7816)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46210; } goto L_08A461DC; } L_08A461DC: aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(7816)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46210; } goto L_08A461F0; } L_08A461F0: aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(7816)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46210; } goto L_08A46204; } L_08A46204: aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(7816)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); goto L_08A46210; L_08A46210: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_14 = aot_fpr_13 / aot_fpr_14; 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_08A4626C; } goto L_08A46228; } L_08A46228: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; aot_fpr_13 = aot_fpr_13 / aot_fpr_14; 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_08A4626C; } goto L_08A46248; } L_08A46248: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A4626Cu); aot_gpr_6 = (0u | 56u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4626Cu) goto L_08A4626C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4626C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A462B0; } goto L_08A46280; } L_08A46280: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(40))); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_5 = (16230u << 16u); aot_gpr_5 = (aot_gpr_5 | 26214u); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A462B0; } goto L_08A462AC; } L_08A462AC: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); goto L_08A462B0; L_08A462B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A4631C; } goto L_08A462B8; } L_08A462B8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (2234u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(13600)); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7668))); aot_gpr_6 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08A4631C; } goto L_08A462E8; } L_08A462E8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08A4631C; } goto L_08A462F8; } L_08A462F8: aot_gpr_5 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A4631Cu); aot_gpr_6 = (0u | 56u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4631Cu) goto L_08A4631C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4631C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4633C; } goto L_08A46330; } L_08A46330: aot_gpr_31 = (0x08A46338u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 212u, 0x08A40FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46338u) goto L_08A46338; AOT_REGCACHE_SYNC_OUT(); return; L_08A46338: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); goto L_08A4633C; L_08A4633C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46344; } goto L_08A46344; } L_08A46344: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.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]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A46364: aot_gpr_29 = (aot_gpr_29 + static_cast(-1056)); { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.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(988), aot_run_words); } ctx.gpr[30] = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A463B4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A463B4u) goto L_08A463B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A463B4: ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(970), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(968), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 8192u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08A463FC; } goto L_08A463E4; } L_08A463E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); aot_gpr_5 = (8u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); goto L_08A463FC; L_08A463FC: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46458; } goto L_08A46404; } L_08A46404: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); aot_gpr_6 = (aot_gpr_6 & 8192u); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u | 215u); if (branch_taken) { goto L_08A46440; } goto L_08A46420; } L_08A46420: aot_gpr_5 = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); ctx.gpr[7] = (8u << 16u); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 218u); goto L_08A46440; } goto L_08A46440; L_08A46440: aot_gpr_31 = (0x08A46448u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46448u) goto L_08A46448; AOT_REGCACHE_SYNC_OUT(); return; L_08A46448: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A46458; } goto L_08A46450; } L_08A46450: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(968), static_cast(aot_gpr_4)); goto L_08A46458; L_08A46458: aot_gpr_31 = (0x08A46460u); 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 == 0x08A46460u) goto L_08A46460; AOT_REGCACHE_SYNC_OUT(); return; L_08A46460: if (ctx.gpr[16] != aot_gpr_2) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), ctx.gpr[16]); goto L_08A46538; } goto L_08A46468; L_08A46468: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A464E8; } goto L_08A46478; } L_08A46478: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A464E8; } goto L_08A46488; } L_08A46488: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A464E8; } goto L_08A46498; } L_08A46498: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 7u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A464E8; } goto L_08A464A8; } L_08A464A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A464E8; } goto L_08A464B8; } L_08A464B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A464E8; } goto L_08A464C8; } L_08A464C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A464E8; } goto L_08A464D8; } L_08A464D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); if (aot_gpr_4 != aot_gpr_5) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), ctx.gpr[16]); goto L_08A46538; } goto L_08A464E8; L_08A464E8: { const std::uint32_t vfpu_address = ctx.gpr[30] + 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_gpr_31 = (0x08A464FCu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(32))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 261u, 0x0882ABA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A464FCu) goto L_08A464FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A464FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A46534; } goto L_08A4650C; } L_08A4650C: aot_gpr_31 = (0x08A46514u); 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 == 0x08A46514u) goto L_08A46514; AOT_REGCACHE_SYNC_OUT(); return; L_08A46514: aot_gpr_31 = (0x08A4651Cu); ctx.gpr[17] = (aot_gpr_2 | 0u); 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 == 0x08A4651Cu) goto L_08A4651C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4651C: aot_gpr_4 = (0u | 4u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A46534u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46534u) goto L_08A46534; AOT_REGCACHE_SYNC_OUT(); return; L_08A46534: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), ctx.gpr[16]); goto L_08A46538; L_08A46538: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x08A46544u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(960), 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 == 0x08A46544u) goto L_08A46544; AOT_REGCACHE_SYNC_OUT(); return; L_08A46544: if (ctx.gpr[16] != aot_gpr_2) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46570; } goto L_08A4654C; L_08A4654C: aot_gpr_31 = (0x08A46554u); 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 == 0x08A46554u) goto L_08A46554; AOT_REGCACHE_SYNC_OUT(); return; L_08A46554: aot_gpr_31 = (0x08A4655Cu); aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4655Cu) goto L_08A4655C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4655C: if (aot_gpr_2 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46570; } goto L_08A46564; L_08A46564: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(960), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46570; L_08A46570: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(1914))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(954), static_cast(aot_gpr_4)); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(1912))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4798C; } goto L_08A46590; } L_08A46590: ctx.gpr[21] = (0u | 0u); ctx.gpr[16] = (0u | 0u); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(954))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(1914))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(956))); if (branch_taken) { goto L_08A465C4; } goto L_08A465B0; } L_08A465B0: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A465DC; } goto L_08A465C4; } L_08A465C4: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(1914))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1824))); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); goto L_08A465DC; L_08A465DC: if (ctx.gpr[16] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A465EC; } goto L_08A465E4; L_08A465E4: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); if (branch_taken) { goto L_08A46618; } goto L_08A465EC; } L_08A465EC: if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A46614; } goto L_08A465F4; L_08A465F4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(592)); aot_gpr_31 = (0x08A46604u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46604u) goto L_08A46604; AOT_REGCACHE_SYNC_OUT(); return; L_08A46604: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(592))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A46614; L_08A46614: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(182))); goto L_08A46618; L_08A46618: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A4666C; } goto L_08A46620; } L_08A46620: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1360))); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(676))); goto L_08A46640; } goto L_08A4662C; L_08A4662C: aot_gpr_31 = (0x08A46634u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46634u) goto L_08A46634; AOT_REGCACHE_SYNC_OUT(); return; L_08A46634: { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; if (branch_taken) { goto L_08A46648; } goto L_08A4663C; } L_08A4663C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(676))); goto L_08A46640; L_08A46640: { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; if (branch_taken) { goto L_08A4666C; } goto L_08A46648; } L_08A46648: aot_gpr_31 = (0x08A46650u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46650u) goto L_08A46650; AOT_REGCACHE_SYNC_OUT(); return; L_08A46650: aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 31u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4666C; } goto L_08A46660; } L_08A46660: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(954))); if (branch_taken) { goto L_08A47968; } goto L_08A4666C; } L_08A4666C: aot_gpr_31 = (0x08A46674u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46674u) goto L_08A46674; AOT_REGCACHE_SYNC_OUT(); return; L_08A46674: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A466A0; } goto L_08A4667C; } L_08A4667C: { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A466A0; } goto L_08A46684; } L_08A46684: aot_gpr_31 = (0x08A4668Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 762u, 0x089AB910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4668Cu) goto L_08A4668C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4668C: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A466A0; } goto L_08A46694; } L_08A46694: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(954))); if (branch_taken) { goto L_08A47968; } goto L_08A466A0; } L_08A466A0: if (ctx.gpr[16] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A466B0; } goto L_08A466A8; L_08A466A8: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); if (branch_taken) { goto L_08A466DC; } goto L_08A466B0; } L_08A466B0: if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A466D8; } goto L_08A466B8; L_08A466B8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(593)); aot_gpr_31 = (0x08A466C8u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A466C8u) goto L_08A466C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A466C8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(593))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A466D8; L_08A466D8: ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(180))); goto L_08A466DC; L_08A466DC: aot_gpr_4 = (0u | 55u); { const bool branch_taken = ctx.gpr[19] != aot_gpr_4; if (branch_taken) { goto L_08A4672C; } goto L_08A466E8; } L_08A466E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46724; } goto L_08A466F4; L_08A466F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 1u); if (aot_gpr_4 == aot_gpr_5) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46724; } goto L_08A46704; L_08A46704: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4672C; } goto L_08A46720; } L_08A46720: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46724; L_08A46724: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(954))); if (branch_taken) { goto L_08A47968; } goto L_08A4672C; } L_08A4672C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(32))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 58u); if (branch_taken) { goto L_08A46778; } goto L_08A46768; } L_08A46768: { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_gpr_4 = (0u | 55u); if (branch_taken) { goto L_08A46778; } goto L_08A46770; } L_08A46770: { const bool branch_taken = ctx.gpr[19] != aot_gpr_4; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); if (branch_taken) { goto L_08A47964; } goto L_08A46778; } L_08A46778: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); aot_gpr_4 = (ctx.gpr[22] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[30] + 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(64)); { 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); { 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; } 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_08A47964; } goto L_08A467B8; } L_08A467B8: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24056))); aot_gpr_5 = (aot_gpr_5 + static_cast(80)); aot_gpr_6 = (0u | 45u); { const bool branch_taken = ctx.gpr[19] == aot_gpr_6; aot_gpr_6 = (0u | 57u); if (branch_taken) { goto L_08A4681C; } goto L_08A467D0; } L_08A467D0: { const bool branch_taken = ctx.gpr[19] != aot_gpr_6; if (branch_taken) { goto L_08A467F4; } goto L_08A467D8; } L_08A467D8: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A4681C; } goto L_08A467E0; } L_08A467E0: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); ctx.gpr[7] = (8192u << 16u); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_08A4681C; } goto L_08A467F4; } L_08A467F4: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A46854; } goto L_08A467FC; } L_08A467FC: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2236))); ctx.gpr[7] = (0u | 28u); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; if (branch_taken) { goto L_08A4681C; } goto L_08A4680C; } L_08A4680C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2236))); ctx.gpr[7] = (0u | 24u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; if (branch_taken) { goto L_08A46854; } goto L_08A4681C; } L_08A4681C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A46840; } goto L_08A46830; } L_08A46830: aot_gpr_4 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08A46840; L_08A46840: aot_gpr_31 = (0x08A46848u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 678u, 0x08903BB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46848u) goto L_08A46848; AOT_REGCACHE_SYNC_OUT(); return; L_08A46848: aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08A46870; } goto L_08A46854; } L_08A46854: aot_gpr_6 = (0u | 57u); { const bool branch_taken = ctx.gpr[19] == aot_gpr_6; aot_gpr_6 = (0u | 58u); if (branch_taken) { goto L_08A46868; } goto L_08A46860; } L_08A46860: { const bool branch_taken = ctx.gpr[19] != aot_gpr_6; if (branch_taken) { goto L_08A46870; } goto L_08A46868; } L_08A46868: aot_gpr_5 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(28128)); goto L_08A46870; L_08A46870: aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(52))); ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_08A469A4; } goto L_08A46884; } L_08A46884: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A468DC; } goto L_08A4688C; } L_08A4688C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(56))); ctx.gpr[8] = (aot_gpr_6 << 5u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = ctx.gpr[7] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[30] + 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>(); ctx.gpr[7] = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + 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[7] + 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.gpr[7] = (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 = ctx.gpr[7] + 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 bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46940; } goto L_08A468DC; } L_08A468DC: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(56))); ctx.gpr[8] = (aot_gpr_6 << 5u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (ctx.gpr[22] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[7] + 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.gpr[7] = (aot_gpr_29 + static_cast(128)); { const std::uint32_t vfpu_address = ctx.gpr[7] + 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, 0u>(); ctx.gpr[7] = (aot_gpr_29 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + 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[7] + 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.gpr[8] = (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 = ctx.gpr[8] + 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[8] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[30] + 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 = ctx.gpr[7] + 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[7] + 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 = ctx.gpr[8] + 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); } goto L_08A46940; L_08A46940: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(56))); ctx.gpr[8] = (aot_gpr_6 << 5u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(32))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[7] + 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.gpr[7] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); { 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; } 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_08A4698C; } goto L_08A46980; } L_08A46980: ctx.gpr[21] = (0u | 1u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A469A4; } goto L_08A4698C; } L_08A4698C: aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(52))); ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; if (branch_taken) { goto L_08A46884; } goto L_08A469A4; } L_08A469A4: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A469BC; } goto L_08A469AC; } L_08A469AC: aot_gpr_31 = (0x08A469B4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A469B4u) goto L_08A469B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A469B4: { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (0u | 46u); if (branch_taken) { goto L_08A469D8; } goto L_08A469BC; } L_08A469BC: if (ctx.gpr[17] == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A469E4; } goto L_08A469C4; L_08A469C4: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A469E4; } goto L_08A469D4; L_08A469D4: aot_gpr_4 = (0u | 46u); goto L_08A469D8; L_08A469D8: { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); if (branch_taken) { goto L_08A47964; } goto L_08A469E0; } L_08A469E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A469E4; L_08A469E4: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_08A47964; } goto L_08A469EC; } L_08A469EC: if (ctx.gpr[16] == 0u) { ctx.fpr[20] = std::bit_cast(0u); goto L_08A469FC; } goto L_08A469F4; L_08A469F4: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); if (branch_taken) { goto L_08A469FC; } goto L_08A469FC; } L_08A469FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); 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); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { 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[30] + 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); } { 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, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(160)); { 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_4 = (ctx.gpr[20] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[22] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_5 = (aot_gpr_29 + static_cast(176)); if (branch_taken) { goto L_08A46A7C; } goto L_08A46A6C; } L_08A46A6C: aot_gpr_31 = (0x08A46A74u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46A74u) goto L_08A46A74; AOT_REGCACHE_SYNC_OUT(); return; L_08A46A74: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A46AB8; } goto L_08A46A7C; } L_08A46A7C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A46AA8; } goto L_08A46A88; L_08A46A88: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(704)); aot_gpr_31 = (0x08A46A98u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46A98u) goto L_08A46A98; AOT_REGCACHE_SYNC_OUT(); return; L_08A46A98: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(704))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A46AA8; L_08A46AA8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(184))); aot_gpr_31 = (0x08A46AB4u); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 605u, 0x08906CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46AB4u) goto L_08A46AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A46AB4: aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08A46AB8; L_08A46AB8: aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(952), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 6u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; if (branch_taken) { goto L_08A46B30; } goto L_08A46AD0; } L_08A46AD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A46B30; } goto L_08A46AE0; } L_08A46AE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A46B30; } goto L_08A46AF0; } L_08A46AF0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A46B30; } goto L_08A46B00; } L_08A46B00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A46B30; } goto L_08A46B10; } L_08A46B10: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A46B30; } goto L_08A46B20; } L_08A46B20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A46B38; } goto L_08A46B30; } L_08A46B30: { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (0u | 1u); if (branch_taken) { goto L_08A46B3C; } goto L_08A46B38; } L_08A46B38: ctx.gpr[30] = (0u | 0u); goto L_08A46B3C; L_08A46B3C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(268))); aot_fpr_13 = std::bit_cast(0u); 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); if (branch_taken) { goto L_08A46B58; } goto L_08A46B54; } L_08A46B54: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(336), ctx.gpr[16]); goto L_08A46B58; L_08A46B58: aot_gpr_4 = (0u | 3u); { const bool branch_taken = ctx.gpr[16] == 0u; aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(970), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08A46C50; } goto L_08A46B64; } L_08A46B64: aot_gpr_31 = (0x08A46B6Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46B6Cu) goto L_08A46B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46B6C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A46C1C; } goto L_08A46B74; } L_08A46B74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46C1C; } goto L_08A46B80; } L_08A46B80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; ctx.gpr[7] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A46BAC; } goto L_08A46B94; } L_08A46B94: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A46C1C; } goto L_08A46BA8; } L_08A46BA8: ctx.gpr[7] = (ctx.gpr[16] | 0u); goto L_08A46BAC; L_08A46BAC: ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(1152))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46BC8u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46BC8u) goto L_08A46BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A46BC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46BE8; } goto L_08A46BD4; } L_08A46BD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_31 = (0x08A46BE0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46BE0u) goto L_08A46BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A46BE0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A46C14; } goto L_08A46BE8; } L_08A46BE8: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46BF4u); aot_gpr_5 = (0u | 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 == 0x08A46BF4u) goto L_08A46BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A46BF4: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A46C14; } goto L_08A46BFC; } L_08A46BFC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46C08u); aot_gpr_5 = (0u | 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 == 0x08A46C08u) goto L_08A46C08; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C08: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A46C14u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C14u) goto L_08A46C14; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C14: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(954))); if (branch_taken) { goto L_08A47968; } goto L_08A46C1C; } L_08A46C1C: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A46C50; } goto L_08A46C24; } L_08A46C24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A46C50; } goto L_08A46C34; } L_08A46C34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A46C50; } goto L_08A46C44; } L_08A46C44: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46C50u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C50u) goto L_08A46C50; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C50: ctx.gpr[21] = (0u | 0u); aot_gpr_4 = (0u | 57u); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_gpr_4 = (0u | 58u); if (branch_taken) { goto L_08A46E18; } goto L_08A46C60; } L_08A46C60: { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; if (branch_taken) { goto L_08A46E18; } goto L_08A46C68; } L_08A46C68: aot_gpr_31 = (0x08A46C70u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C70u) goto L_08A46C70; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C70: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A46C94; } goto L_08A46C78; } L_08A46C78: { const bool branch_taken = ctx.gpr[30] == 0u; if (branch_taken) { goto L_08A46C94; } goto L_08A46C80; } L_08A46C80: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(968))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46C94; } goto L_08A46C8C; } L_08A46C8C: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (0u | 100u); if (branch_taken) { goto L_08A46DE8; } goto L_08A46C94; } L_08A46C94: aot_gpr_31 = (0x08A46C9Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C9Cu) goto L_08A46C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C9C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A46D08; } goto L_08A46CA4; } L_08A46CA4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(3261)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46D08; } goto L_08A46CB4; } L_08A46CB4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A46CE8; } goto L_08A46CC4; } L_08A46CC4: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); aot_fpr_12 = std::bit_cast(ctx.gpr[21]); goto L_08A46CCC; L_08A46CCC: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16480u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A46DE8; } goto L_08A46CE8; } L_08A46CE8: aot_gpr_4 = (0u | 255u); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); ctx.gpr[21] = (ctx.gpr[21] << 2u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (aot_gpr_5 != 0u) { ctx.gpr[21] = (aot_gpr_4 | 0u); goto L_08A46D00; } goto L_08A46D00; L_08A46D00: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(ctx.gpr[21]); if (branch_taken) { goto L_08A46CCC; } goto L_08A46D08; } L_08A46D08: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A46D20; } goto L_08A46D10; } L_08A46D10: aot_gpr_31 = (0x08A46D18u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46D18u) goto L_08A46D18; AOT_REGCACHE_SYNC_OUT(); return; L_08A46D18: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A46D38; } goto L_08A46D20; } L_08A46D20: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08A46D94; } goto L_08A46D28; } L_08A46D28: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A46D94; } goto L_08A46D38; } L_08A46D38: { const bool branch_taken = ctx.gpr[30] == 0u; if (branch_taken) { goto L_08A46D94; } goto L_08A46D40; } L_08A46D40: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A46D74; } goto L_08A46D50; } L_08A46D50: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); aot_fpr_12 = std::bit_cast(ctx.gpr[21]); goto L_08A46D58; L_08A46D58: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A46DE8; } goto L_08A46D74; } L_08A46D74: aot_gpr_4 = (0u | 255u); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); ctx.gpr[21] = (ctx.gpr[21] << 2u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (aot_gpr_5 != 0u) { ctx.gpr[21] = (aot_gpr_4 | 0u); goto L_08A46D8C; } goto L_08A46D8C; L_08A46D8C: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(ctx.gpr[21]); if (branch_taken) { goto L_08A46D58; } goto L_08A46D94; } L_08A46D94: aot_gpr_31 = (0x08A46D9Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46D9Cu) goto L_08A46D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46D9C: if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); goto L_08A46DBC; } goto L_08A46DA4; L_08A46DA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 10u); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); goto L_08A46DBC; } goto L_08A46DB4; L_08A46DB4: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (0u | 100u); if (branch_taken) { goto L_08A46DE8; } goto L_08A46DBC; } L_08A46DBC: aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A46DD0; } goto L_08A46DC8; } L_08A46DC8: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); if (branch_taken) { goto L_08A46DE8; } goto L_08A46DD0; } L_08A46DD0: aot_gpr_4 = (0u | 255u); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); ctx.gpr[21] = (ctx.gpr[21] << 2u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (aot_gpr_5 != 0u) { ctx.gpr[21] = (aot_gpr_4 | 0u); goto L_08A46DE8; } goto L_08A46DE8; L_08A46DE8: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A46E18; } goto L_08A46DF0; } L_08A46DF0: ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_12 = std::bit_cast(ctx.gpr[21]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(964))); aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08A46E18u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46E18u) goto L_08A46E18; AOT_REGCACHE_SYNC_OUT(); return; L_08A46E18: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A4736C; } goto L_08A46E24; } L_08A46E24: aot_gpr_31 = (0x08A46E2Cu); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46E2Cu) goto L_08A46E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46E2C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A4736C; } goto L_08A46E34; } L_08A46E34: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(972), ctx.gpr[21]); 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); } 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 = (16672u << 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 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); { 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_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[22] = (aot_gpr_29 + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + 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_22 = std::bit_cast(0u); aot_gpr_4 = (0u | 6u); ctx.gpr[21] = (aot_gpr_29 + static_cast(160)); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A46EA8u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46EA8u) goto L_08A46EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A46EA8: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A46ED0u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46ED0u) goto L_08A46ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08A46ED0: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A46EF8u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46EF8u) goto L_08A46EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A46EF8: { const bool branch_taken = ctx.gpr[30] == 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(972))); if (branch_taken) { goto L_08A46FF8; } goto L_08A46F00; } L_08A46F00: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(972), ctx.gpr[21]); aot_gpr_4 = (48460u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A46F20u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F20u) goto L_08A46F20; AOT_REGCACHE_SYNC_OUT(); return; L_08A46F20: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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_22 + aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A46F40u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F40u) goto L_08A46F40; AOT_REGCACHE_SYNC_OUT(); return; L_08A46F40: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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_22 + aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(196))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_12)); ctx.gpr[22] = (aot_gpr_29 + static_cast(160)); ctx.fpr[26] = std::bit_cast(0u); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (ctx.gpr[22] | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(192)); aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A46F8Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F8Cu) goto L_08A46F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46F8C: aot_gpr_31 = (0x08A46F94u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F94u) goto L_08A46F94; AOT_REGCACHE_SYNC_OUT(); return; L_08A46F94: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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_22 + aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A46FB4u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], 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_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46FB4u) goto L_08A46FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A46FB4: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; 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_22 + aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(196))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A46FF4u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46FF4u) goto L_08A46FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A46FF4: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(972))); goto L_08A46FF8; L_08A46FF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A47268; } goto L_08A47008; } L_08A47008: aot_gpr_4 = (0u | 58u); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_gpr_4 = (0u | 58u); if (branch_taken) { goto L_08A4702C; } goto L_08A47014; } L_08A47014: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 + static_cast(17)); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A47048; } goto L_08A47028; } L_08A47028: aot_gpr_4 = (0u | 58u); goto L_08A4702C; L_08A4702C: if (ctx.gpr[19] != aot_gpr_4) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), ctx.gpr[19]); goto L_08A4708C; } goto L_08A47034; L_08A47034: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 + static_cast(17)); aot_gpr_4 = (aot_gpr_4 & 3u); if (aot_gpr_4 != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), ctx.gpr[19]); goto L_08A4708C; } goto L_08A47048; L_08A47048: aot_gpr_5 = (aot_gpr_29 + static_cast(160)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(240), aot_run_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(240)); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 81u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A47088u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47088u) goto L_08A47088; AOT_REGCACHE_SYNC_OUT(); return; L_08A47088: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), ctx.gpr[19]); goto L_08A4708C; L_08A4708C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(976), static_cast(ctx.gpr[30])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(972), ctx.gpr[21]); ctx.gpr[22] = (aot_gpr_29 + static_cast(160)); aot_fpr_22 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(ctx.fpr[24])); ctx.gpr[21] = (aot_gpr_29 + static_cast(192)); { const std::uint32_t vfpu_address = ctx.gpr[21] + 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.gpr[30] = (aot_gpr_29 + static_cast(224)); { const std::uint32_t vfpu_address = ctx.gpr[30] + 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, 0u>(); ctx.gpr[19] = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + 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 = (0u | 7u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A470F8u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A470F8u) goto L_08A470F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A470F8: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(208), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[21] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[19] + 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, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[30] + 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 = (0u | 6u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A4713Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4713Cu) goto L_08A4713C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4713C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[21] + 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); } { const std::uint32_t vfpu_address = ctx.gpr[19] + 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, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[30] + 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 = (0u | 6u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A4718Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4718Cu) goto L_08A4718C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4718C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 10u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A471CCu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A471CCu) goto L_08A471CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A471CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(964))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 6u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(972))); ctx.gpr[30] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(976))); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(980))); if (branch_taken) { goto L_08A4725C; } goto L_08A471F4; } L_08A471F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; if (branch_taken) { goto L_08A4725C; } goto L_08A47200; } L_08A47200: aot_gpr_5 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (0u | 205u); aot_gpr_31 = (0x08A47224u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47224u) goto L_08A47224; AOT_REGCACHE_SYNC_OUT(); return; L_08A47224: aot_gpr_31 = (0x08A4722Cu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4722Cu) goto L_08A4722C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4722C: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6276))); aot_gpr_31 = (0x08A47240u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6280))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47240u) goto L_08A47240; AOT_REGCACHE_SYNC_OUT(); return; L_08A47240: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08A47268; } goto L_08A4725C; } L_08A4725C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); goto L_08A47268; L_08A47268: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(64))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A4736C; } goto L_08A47278; } L_08A47278: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(972), ctx.gpr[21]); ctx.gpr[22] = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[20] + 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_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(272)); { 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_5 = (15820u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] + static_cast(32)); { 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<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + 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); } { 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); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + 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 = (0x08A472E8u); aot_gpr_4 = (ctx.gpr[22] | 0u); 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 == 0x08A472E8u) goto L_08A472E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A472E8: aot_fpr_22 = std::bit_cast(0u); aot_gpr_4 = (0u | 8u); ctx.gpr[21] = (aot_gpr_29 + static_cast(160)); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A47318u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47318u) goto L_08A47318; AOT_REGCACHE_SYNC_OUT(); return; L_08A47318: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A47340u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47340u) goto L_08A47340; AOT_REGCACHE_SYNC_OUT(); return; L_08A47340: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A47368u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47368u) goto L_08A47368; AOT_REGCACHE_SYNC_OUT(); return; L_08A47368: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(972))); goto L_08A4736C; L_08A4736C: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A4768C; } goto L_08A47374; } L_08A47374: aot_gpr_4 = (0u | 45u); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_gpr_4 = (0u | 57u); if (branch_taken) { goto L_08A4756C; } goto L_08A47380; } L_08A47380: { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_gpr_4 = (0u | 58u); if (branch_taken) { goto L_08A4756C; } goto L_08A47388; } L_08A47388: { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; if (branch_taken) { goto L_08A4756C; } goto L_08A47390; } L_08A47390: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); 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_08A4768C; } goto L_08A473A8; } L_08A473A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); aot_gpr_4 = (16880u << 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); aot_gpr_4 = (16880u << 16u); if (branch_taken) { goto L_08A473D8; } goto L_08A473C4; } L_08A473C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A47400; } goto L_08A473D8; } L_08A473D8: aot_gpr_31 = (0x08A473E0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A473E0u) goto L_08A473E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A473E0: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A4768C; } goto L_08A473E8; } L_08A473E8: { const bool branch_taken = ctx.gpr[30] != 0u; if (branch_taken) { goto L_08A47400; } goto L_08A473F0; } L_08A473F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A4768C; } goto L_08A47400; } L_08A47400: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); { 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; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); { 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_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_08A47434; } goto L_08A47428; } L_08A47428: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A47470; } goto L_08A47434; } L_08A47434: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 17u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; 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; } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); goto L_08A47470; L_08A47470: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A474D8; } goto L_08A4749C; } L_08A4749C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_gpr_4 = (49152u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16384u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A474D0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A474D0u) goto L_08A474D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A474D0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A4750C; } goto L_08A474D8; } L_08A474D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_gpr_4 = (49312u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16448u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A4750Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4750Cu) goto L_08A4750C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4750C: if (ctx.gpr[30] == 0u) { aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); goto L_08A47544; } goto L_08A47514; L_08A47514: aot_gpr_31 = (0x08A4751Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4751Cu) goto L_08A4751C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4751C: if (aot_gpr_2 != 0u) { aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); goto L_08A47544; } goto L_08A47524; L_08A47524: aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); aot_gpr_6 = (aot_gpr_6 + static_cast(28)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3000u); aot_gpr_31 = (0x08A4753Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4753Cu) goto L_08A4753C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4753C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A47558; } goto L_08A47544; } L_08A47544: aot_gpr_6 = (aot_gpr_6 + static_cast(28)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1500u); aot_gpr_31 = (0x08A47558u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47558u) goto L_08A47558; AOT_REGCACHE_SYNC_OUT(); return; L_08A47558: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47564u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47564u) goto L_08A47564; AOT_REGCACHE_SYNC_OUT(); return; L_08A47564: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A4768C; } goto L_08A4756C; } L_08A4756C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A4768C; } goto L_08A4757C; } L_08A4757C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(968))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A4768C; } goto L_08A47588; } L_08A47588: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); { 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; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); { 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_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_08A475BC; } goto L_08A475B0; } L_08A475B0: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A475F8; } goto L_08A475BC; } L_08A475BC: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 17u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; 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; } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); goto L_08A475F8; L_08A475F8: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A47658; } goto L_08A47624; } L_08A47624: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A47650u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47650u) goto L_08A47650; AOT_REGCACHE_SYNC_OUT(); return; L_08A47650: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A4768C; } goto L_08A47658; } L_08A47658: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_gpr_4 = (49312u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16448u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A4768Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4768Cu) goto L_08A4768C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4768C: aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A4777C; } goto L_08A4769C; } L_08A4769C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A476DC; } goto L_08A476AC; } L_08A476AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A476DC; } goto L_08A476BC; } L_08A476BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A476DC; } goto L_08A476CC; } L_08A476CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A4772C; } goto L_08A476DC; } L_08A476DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A4770C; } goto L_08A476EC; } L_08A476EC: aot_gpr_4 = (0u | 18u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47704u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47704u) goto L_08A47704; AOT_REGCACHE_SYNC_OUT(); return; L_08A47704: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A47964; } goto L_08A4770C; } L_08A4770C: aot_gpr_4 = (0u | 17u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47724u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47724u) goto L_08A47724; AOT_REGCACHE_SYNC_OUT(); return; L_08A47724: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A47964; } goto L_08A4772C; } L_08A4772C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A4775C; } goto L_08A4773C; } L_08A4773C: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47754u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47754u) goto L_08A47754; AOT_REGCACHE_SYNC_OUT(); return; L_08A47754: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A47964; } goto L_08A4775C; } L_08A4775C: aot_gpr_4 = (0u | 1u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47774u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47774u) goto L_08A47774; AOT_REGCACHE_SYNC_OUT(); return; L_08A47774: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A47964; } goto L_08A4777C; } L_08A4777C: aot_gpr_4 = (0u | 38u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(368), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9646))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(370), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(371)); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_gpr_4 + static_cast(8)); ctx.gpr[7] = (aot_gpr_29 + static_cast(383)); ctx.gpr[8] = (ctx.gpr[7] + static_cast(4)); ctx.gpr[9] = (ctx.gpr[7] + static_cast(8)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); ctx.gpr[10] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[10]); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[10]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store_word_left(aot_gpr_5 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store_word_left(ctx.gpr[7] + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(ctx.gpr[7] + static_cast(0), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store_word_left(ctx.gpr[8] + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(ctx.gpr[8] + static_cast(0), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store_word_left(ctx.gpr[9] + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(ctx.gpr[9] + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(400), static_cast(aot_gpr_4)); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(104))); aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08A4785C; } goto L_08A47828; } L_08A47828: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(844), static_cast(0u)); goto L_08A4782C; L_08A4782C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); ctx.gpr[7] = (ctx.gpr[7] < aot_gpr_4 ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_08A47850; } goto L_08A47840; L_08A47840: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (aot_gpr_5 + static_cast(8)); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08A47854; } goto L_08A47850; } L_08A47850: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08A47854; L_08A47854: if (aot_gpr_6 != 0u) { aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(844), static_cast(0u)); goto L_08A4782C; } goto L_08A4785C; L_08A4785C: aot_gpr_6 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-28736)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(104))); if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (2237u << 16u); goto L_08A4788C; } goto L_08A47870; L_08A47870: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(845), static_cast(0u)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(840), aot_gpr_5); goto L_08A47898; } goto L_08A47888; L_08A47888: aot_gpr_4 = (2237u << 16u); goto L_08A4788C; L_08A4788C: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(840), aot_gpr_5); goto L_08A47898; L_08A47898: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(840))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(836), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(856), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(856))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(832), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(832))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(836))); goto L_08A478DC; } goto L_08A478D4; L_08A478D4: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A478E0; } goto L_08A478DC; } L_08A478DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); goto L_08A478E0; L_08A478E0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(402), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(395)))))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); aot_gpr_6 = (0u + static_cast(-16)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_5 & 15u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(395), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(399), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(396), static_cast(ctx.gpr[21])); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(395)))))); aot_gpr_5 = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (ctx.gpr[30] & 1u); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(395), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(395)))))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(968))); aot_gpr_6 = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(395), static_cast(aot_gpr_4)); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_29 + static_cast(368)); aot_gpr_31 = (0x08A47964u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47964u) goto L_08A47964; AOT_REGCACHE_SYNC_OUT(); return; L_08A47964: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(954))); goto L_08A47968; L_08A47968: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(1914))); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(1912))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(954), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A46590; } goto L_08A4798C; } L_08A4798C: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(956))); { const std::uint32_t vfpu_address = ctx.gpr[22] + 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); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(32))); aot_gpr_2 = (0u | 1u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_31 = (0x08A479CCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A479CCu) goto L_08A479CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A479CC: ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A47C74; } goto L_08A479D8; } L_08A479D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 14u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A47C74; } goto L_08A479F4; } L_08A479F4: ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A47A2C; } goto L_08A47A00; } L_08A47A00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x08A47A14u); ctx.gpr[19] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47A14u) goto L_08A47A14; AOT_REGCACHE_SYNC_OUT(); return; L_08A47A14: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A47A24u); aot_gpr_5 = (aot_gpr_2 | 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 == 0x08A47A24u) goto L_08A47A24; AOT_REGCACHE_SYNC_OUT(); return; L_08A47A24: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_08A47A34; } goto L_08A47A2C; } L_08A47A2C: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08A47A34; } goto L_08A47A34; } L_08A47A34: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_08A47C74; } goto L_08A47A3C; } L_08A47A3C: aot_gpr_4 = (0u | 38u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(418), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9646))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(420), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(421)); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_gpr_4 + static_cast(8)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7]); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store_word_left(aot_gpr_5 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(406)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(407)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(408)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(433), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(434), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(435), static_cast(aot_gpr_6)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(409)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(410)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(411)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(436), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(437), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(438), static_cast(aot_gpr_6)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(412)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(413)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(414)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(439), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(440), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(441), static_cast(aot_gpr_6)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(415)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(416)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(417)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(442), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(443), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(444), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(450), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08A47AF8u); 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 == 0x08A47AF8u) goto L_08A47AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A47AF8: aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(104))); aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A47B48; } goto L_08A47B14; } L_08A47B14: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(880), static_cast(0u)); goto L_08A47B18; L_08A47B18: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); ctx.gpr[7] = (ctx.gpr[7] < aot_gpr_4 ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_08A47B3C; } goto L_08A47B2C; L_08A47B2C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (aot_gpr_5 + static_cast(8)); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08A47B40; } goto L_08A47B3C; } L_08A47B3C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08A47B40; L_08A47B40: if (aot_gpr_6 != 0u) { aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(880), static_cast(0u)); goto L_08A47B18; } goto L_08A47B48; L_08A47B48: aot_gpr_6 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-28736)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(104))); if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (2237u << 16u); goto L_08A47B78; } goto L_08A47B5C; L_08A47B5C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(881), static_cast(0u)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(876), aot_gpr_5); goto L_08A47B84; } goto L_08A47B74; L_08A47B74: aot_gpr_4 = (2237u << 16u); goto L_08A47B78; L_08A47B78: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(876), aot_gpr_5); goto L_08A47B84; L_08A47B84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(876))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(872), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(892), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(892))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(868), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(872))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(868))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(872))); goto L_08A47BC8; } goto L_08A47BC0; L_08A47BC0: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A47BCC; } goto L_08A47BC8; } L_08A47BC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); goto L_08A47BCC; L_08A47BCC: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(452), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(445)))))); aot_gpr_5 = (0u + static_cast(-16)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(445), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(449), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A47C04; } goto L_08A47BFC; } L_08A47BFC: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); if (branch_taken) { goto L_08A47C1C; } goto L_08A47C04; } L_08A47C04: aot_gpr_5 = (0u | 255u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08A47C1C; } goto L_08A47C1C; L_08A47C1C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(446), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(445)))))); aot_gpr_4 = (aot_gpr_4 | 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(445), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(445)))))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(968))); aot_gpr_6 = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(445), static_cast(aot_gpr_4)); aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(2032)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(31))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(454), static_cast(aot_gpr_4)); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_29 + static_cast(418)); aot_gpr_31 = (0x08A47C74u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47C74u) goto L_08A47C74; AOT_REGCACHE_SYNC_OUT(); return; L_08A47C74: { const std::uint32_t vfpu_address = ctx.gpr[22] + 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); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(32))); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x08A47CACu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47CACu) goto L_08A47CAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A47CAC: ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 30u, 0x08A481F8u>(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_08A47CB8; } L_08A47CB8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 30u, 0x08A481F8u>(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_08A47CC4; } L_08A47CC4: aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); aot_gpr_31 = (0x08A47CD4u); 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 == 0x08A47CD4u) goto L_08A47CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A47CD4: { const bool branch_taken = ctx.gpr[20] != aot_gpr_2; if (branch_taken) { goto L_08A47D24; } goto L_08A47CDC; } L_08A47CDC: aot_gpr_31 = (0x08A47CE4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 456u, 0x08B01BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47CE4u) goto L_08A47CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A47CE4: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_08A47D24; } goto L_08A47CEC; } L_08A47CEC: aot_gpr_4 = (ctx.gpr[20] + 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(464)); { 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_5 = (16928u << 16u); aot_gpr_31 = (0x08A47D08u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 62u, 0x08AB437Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47D08u) goto L_08A47D08; AOT_REGCACHE_SYNC_OUT(); return; L_08A47D08: { const bool branch_taken = static_cast(aot_gpr_2) <= 0; if (branch_taken) { goto L_08A47D24; } goto L_08A47D10; } L_08A47D10: aot_gpr_31 = (0x08A47D18u); 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 == 0x08A47D18u) goto L_08A47D18; AOT_REGCACHE_SYNC_OUT(); return; L_08A47D18: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A47D24u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47D24u) goto L_08A47D24; AOT_REGCACHE_SYNC_OUT(); return; L_08A47D24: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A47E4C; } goto L_08A47D38; } L_08A47D38: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A47E4C; } goto L_08A47D48; } L_08A47D48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(984), ctx.gpr[22]); ctx.gpr[19] = (2246u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(2032))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), std::bit_cast(aot_fpr_12)); ctx.gpr[21] = (ctx.gpr[19] + static_cast(2032)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(484), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(488), std::bit_cast(aot_fpr_12)); ctx.gpr[30] = (aot_gpr_29 + static_cast(480)); aot_fpr_22 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(496), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (ctx.gpr[30] | 0u); ctx.gpr[22] = (aot_gpr_29 + static_cast(496)); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A47DB8u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47DB8u) goto L_08A47DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A47DB8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(2032))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(484), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(488), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + static_cast(512)); { 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_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + 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 = (0u | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08A47E34u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47E34u) goto L_08A47E34; AOT_REGCACHE_SYNC_OUT(); return; L_08A47E34: aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); ctx.gpr[17] = (aot_gpr_4 << 16u); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(984))); if (branch_taken) { goto L_08A47D48; } goto L_08A47E4C; } L_08A47E4C: aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(2032)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(31))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_6 = (0u | 11u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; if (branch_taken) { goto L_08A47EF8; } goto L_08A47E6C; } L_08A47E6C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(416)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(188))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); ctx.gpr[8] = (14916u << 16u); ctx.gpr[8] = (ctx.gpr[8] | 39846u); aot_fpr_13 = std::bit_cast(ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] & 255u); { const bool branch_taken = ctx.gpr[7] != 0u; { 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; } if (branch_taken) { goto L_08A47ED8; } goto L_08A47EA0; } L_08A47EA0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_08A47EA8; L_08A47EA8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { 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_4 = (aot_gpr_6 | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); jump_target = ctx.gpr[10]; aot_gpr_31 = (0x08A47ED0u); ctx.gpr[9] = (0u | 42u); 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 == 0x08A47ED0u) goto L_08A47ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08A47ED0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A47F78; } goto L_08A47ED8; } L_08A47ED8: ctx.gpr[8] = (0u | 255u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[7]) ? 1u : 0u); if (ctx.gpr[9] != 0u) { ctx.gpr[7] = (ctx.gpr[8] | 0u); goto L_08A47EF0; } goto L_08A47EF0; L_08A47EF0: { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); if (branch_taken) { goto L_08A47EA8; } goto L_08A47EF8; } L_08A47EF8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(416)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(188))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); ctx.gpr[8] = (15395u << 16u); ctx.gpr[8] = (ctx.gpr[8] | 55050u); aot_fpr_13 = std::bit_cast(ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] & 255u); { const bool branch_taken = ctx.gpr[7] != 0u; { 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; } if (branch_taken) { goto L_08A47F34; } goto L_08A47F2C; } L_08A47F2C: { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); if (branch_taken) { goto L_08A47F4C; } goto L_08A47F34; } L_08A47F34: ctx.gpr[8] = (0u | 255u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(24))); ctx.gpr[7] = (ctx.gpr[7] << 2u); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[7]) ? 1u : 0u); if (ctx.gpr[9] != 0u) { ctx.gpr[7] = (ctx.gpr[8] | 0u); goto L_08A47F4C; } goto L_08A47F4C; L_08A47F4C: ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { 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_4 = (aot_gpr_6 | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); jump_target = ctx.gpr[10]; aot_gpr_31 = (0x08A47F78u); ctx.gpr[9] = (0u | 42u); 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 == 0x08A47F78u) goto L_08A47F78; AOT_REGCACHE_SYNC_OUT(); return; L_08A47F78: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A47FA4; } goto L_08A47F8C; } L_08A47F8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(964))); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(688), aot_gpr_5); goto L_08A47FA4; L_08A47FA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(268))); aot_fpr_13 = std::bit_cast(0u); 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); if (branch_taken) { goto L_08A47FC0; } goto L_08A47FBC; } L_08A47FBC: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(336), ctx.gpr[16]); goto L_08A47FC0; L_08A47FC0: ctx.gpr[17] = (0u | 2u); aot_gpr_31 = (0x08A47FCCu); 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 == 0x08A47FCCu) goto L_08A47FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A47FCC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(970), static_cast(ctx.gpr[17])); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 30u, 0x08A481F8u>(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_08A47FEC; } L_08A47FEC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 30u, 0x08A481F8u>(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_08A47FFC; } L_08A47FFC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); ctx.pc = 0x08A48000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0144(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0144_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_144(Runtime &runtime) { runtime.register_generated_unit(144u, 0x08A44000u, 16384u, &recomp_unit_0144, &recomp_unit_0144_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x08A44000u, &recomp_unit_0144, "recomp_unit_0144", kEntryMasks_recomp_unit_0144, 64u); } } // namespace psprecomp