#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_0075[64] = { 0x0A00000802002A03ull, 0x0A00000000000800ull, 0xA000004040000800ull, 0x0112000100140000ull, 0x5104350000001002ull, 0x0C210402C5115515ull, 0x10402C5115515514ull, 0x0001804250A240C2ull, 0xA811000000080148ull, 0x0080820812A22288ull, 0x0A4200062040A000ull, 0x82820410A8210408ull, 0x0400112028000008ull, 0x0A0B015001010000ull, 0x408100A04580A800ull, 0x0254211101400009ull, 0x0082200110822044ull, 0x4202104040058310ull, 0x41215012B0000008ull, 0x30A1021504020141ull, 0x2A2205204AC44000ull, 0x15008000886A2204ull, 0x00008201A1000140ull, 0x0092AA4008001890ull, 0x8A514A2900042081ull, 0x10A80154515414A2ull, 0x2410224489002002ull, 0x44454A210B249500ull, 0x091A511225548888ull, 0x848D2492508A8004ull, 0x28488910A1222442ull, 0x0412244142A22244ull, 0x6523290244490020ull, 0x4200404008200082ull, 0x0810400410000000ull, 0x5522A552A9152A84ull, 0x200010804AA454AAull, 0xC010044020801010ull, 0x8489091204008AA4ull, 0x2A0840800040292Aull, 0x255281158A000231ull, 0x528086004A808404ull, 0x5089000111420425ull, 0x202154100654A092ull, 0x404002A42A550821ull, 0x008810C120284020ull, 0x0430480A054104D2ull, 0x04010050C1202815ull, 0x0000106090140310ull, 0x1000000000000008ull, 0x4000848822108841ull, 0x0400000280005000ull, 0x0080002000014000ull, 0x0404292900082682ull, 0x0010104290008220ull, 0x010A410100802148ull, 0x2111044000100101ull, 0x2000810000000422ull, 0x1108220000000000ull, 0x0140000010910442ull, 0x4080804000005000ull, 0x60A9200088408180ull, 0x2010340120004201ull, 0x800D2220588A0008ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0075[64] = { 1u, 10u, 13u, 18u, 24u, 34u, 53u, 73u, 86u, 95u, 108u, 118u, 131u, 138u, 148u, 160u, 172u, 182u, 194u, 206u, 220u, 235u, 248u, 256u, 269u, 285u, 304u, 316u, 335u, 355u, 373u, 390u, 406u, 423u, 431u, 436u, 461u, 477u, 486u, 502u, 515u, 533u, 547u, 561u, 578u, 594u, 605u, 621u, 634u, 644u, 646u, 658u, 663u, 667u, 681u, 690u, 701u, 710u, 716u, 721u, 730u, 736u, 749u, 759u, }; void recomp_unit_0075_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,16 fprs=12,13,14,20 gpr_occ=4266 fpr_occ=885 gpr_total=5578 fpr_total=1143 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_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; 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[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } 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_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } 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 - 0x08930000u; 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_0075[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_0075[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_08930000; case 2u: goto L_08930004; case 3u: goto L_08930024; case 4u: goto L_0893002C; case 5u: goto L_08930034; case 6u: goto L_08930064; case 7u: goto L_0893008C; case 8u: goto L_089300E4; case 9u: goto L_089300EC; case 10u: goto L_0893012C; case 11u: goto L_089301E4; case 12u: goto L_089301EC; case 13u: goto L_0893022C; case 14u: goto L_08930278; case 15u: goto L_08930298; case 16u: goto L_089302F4; case 17u: goto L_089302FC; case 18u: goto L_08930348; case 19u: goto L_08930350; case 20u: goto L_08930380; case 21u: goto L_089303C4; case 22u: goto L_089303D0; case 23u: goto L_089303E0; case 24u: goto L_08930404; case 25u: goto L_08930430; case 26u: goto L_089304A0; case 27u: goto L_089304A8; case 28u: goto L_089304B0; case 29u: goto L_089304B4; case 30u: goto L_089304C8; case 31u: goto L_089304E0; case 32u: goto L_089304F0; case 33u: goto L_089304F8; case 34u: goto L_08930500; case 35u: goto L_08930508; case 36u: goto L_08930510; case 37u: goto L_08930520; case 38u: goto L_08930528; case 39u: goto L_08930530; case 40u: goto L_08930538; case 41u: goto L_08930540; case 42u: goto L_08930550; case 43u: goto L_08930560; case 44u: goto L_08930568; case 45u: goto L_08930578; case 46u: goto L_0893057C; case 47u: goto L_08930584; case 48u: goto L_089305A8; case 49u: goto L_089305C0; case 50u: goto L_089305D4; case 51u: goto L_089305E8; case 52u: goto L_089305EC; case 53u: goto L_08930608; case 54u: goto L_08930610; case 55u: goto L_08930620; case 56u: goto L_08930628; case 57u: goto L_08930630; case 58u: goto L_08930638; case 59u: goto L_08930640; case 60u: goto L_08930650; case 61u: goto L_08930658; case 62u: goto L_08930660; case 63u: goto L_08930668; case 64u: goto L_08930670; case 65u: goto L_08930680; case 66u: goto L_08930690; case 67u: goto L_08930698; case 68u: goto L_089306A8; case 69u: goto L_089306AC; case 70u: goto L_089306B4; case 71u: goto L_089306D8; case 72u: goto L_089306F0; case 73u: goto L_08930704; case 74u: goto L_08930718; case 75u: goto L_0893071C; case 76u: goto L_08930738; case 77u: goto L_08930744; case 78u: goto L_08930754; case 79u: goto L_0893075C; case 80u: goto L_08930770; case 81u: goto L_08930778; case 82u: goto L_08930784; case 83u: goto L_08930798; case 84u: goto L_089307BC; case 85u: goto L_089307C0; case 86u: goto L_0893080C; case 87u: goto L_08930818; case 88u: goto L_08930820; case 89u: goto L_0893084C; case 90u: goto L_089308C0; case 91u: goto L_089308D0; case 92u: goto L_089308EC; case 93u: goto L_089308F4; case 94u: goto L_089308FC; case 95u: goto L_0893090C; case 96u: goto L_0893091C; case 97u: goto L_08930924; case 98u: goto L_08930934; case 99u: goto L_08930944; case 100u: goto L_08930954; case 101u: goto L_0893095C; case 102u: goto L_08930964; case 103u: goto L_08930970; case 104u: goto L_0893098C; case 105u: goto L_089309A4; case 106u: goto L_089309BC; case 107u: goto L_089309DC; case 108u: goto L_08930A34; case 109u: goto L_08930A3C; case 110u: goto L_08930A58; case 111u: goto L_08930A74; case 112u: goto L_08930A84; case 113u: goto L_08930A88; case 114u: goto L_08930AC4; case 115u: goto L_08930AD8; case 116u: goto L_08930AE4; case 117u: goto L_08930AEC; case 118u: goto L_08930B0C; case 119u: goto L_08930B28; case 120u: goto L_08930B40; case 121u: goto L_08930B54; case 122u: goto L_08930B6C; case 123u: goto L_08930B74; case 124u: goto L_08930B7C; case 125u: goto L_08930B90; case 126u: goto L_08930BA8; case 127u: goto L_08930BC4; case 128u: goto L_08930BDC; case 129u: goto L_08930BE4; case 130u: goto L_08930BFC; case 131u: goto L_08930C0C; case 132u: goto L_08930C6C; case 133u: goto L_08930C74; case 134u: goto L_08930C94; case 135u: goto L_08930CA0; case 136u: goto L_08930CB0; case 137u: goto L_08930CE8; case 138u: goto L_08930D40; case 139u: goto L_08930D60; case 140u: goto L_08930D90; case 141u: goto L_08930D98; case 142u: goto L_08930DA0; case 143u: goto L_08930DC0; case 144u: goto L_08930DC4; case 145u: goto L_08930DCC; case 146u: goto L_08930DE4; case 147u: goto L_08930DEC; case 148u: goto L_08930E2C; case 149u: goto L_08930E34; case 150u: goto L_08930E3C; case 151u: goto L_08930E5C; case 152u: goto L_08930E60; case 153u: goto L_08930E68; case 154u: goto L_08930E78; case 155u: goto L_08930E94; case 156u: goto L_08930E9C; case 157u: goto L_08930EC0; case 158u: goto L_08930EDC; case 159u: goto L_08930EF8; case 160u: goto L_08930F00; case 161u: goto L_08930F0C; case 162u: goto L_08930F58; case 163u: goto L_08930F60; case 164u: goto L_08930F80; case 165u: goto L_08930F90; case 166u: goto L_08930FA0; case 167u: goto L_08930FB4; case 168u: goto L_08930FC8; case 169u: goto L_08930FD0; case 170u: goto L_08930FD8; case 171u: goto L_08930FE4; case 172u: goto L_08931008; case 173u: goto L_08931018; case 174u: goto L_08931034; case 175u: goto L_08931044; case 176u: goto L_0893105C; case 177u: goto L_08931070; case 178u: goto L_08931080; case 179u: goto L_089310B4; case 180u: goto L_089310C4; case 181u: goto L_089310DC; case 182u: goto L_08931110; case 183u: goto L_08931120; case 184u: goto L_08931124; case 185u: goto L_0893113C; case 186u: goto L_08931140; case 187u: goto L_08931148; case 188u: goto L_08931178; case 189u: goto L_08931198; case 190u: goto L_089311B0; case 191u: goto L_089311C4; case 192u: goto L_089311E4; case 193u: goto L_089311F8; case 194u: goto L_0893120C; case 195u: goto L_08931270; case 196u: goto L_08931274; case 197u: goto L_0893127C; case 198u: goto L_08931284; case 199u: goto L_08931290; case 200u: goto L_089312B0; case 201u: goto L_089312B8; case 202u: goto L_089312C0; case 203u: goto L_089312D4; case 204u: goto L_089312E0; case 205u: goto L_089312F8; case 206u: goto L_08931300; case 207u: goto L_08931318; case 208u: goto L_08931320; case 209u: goto L_08931344; case 210u: goto L_08931368; case 211u: goto L_08931380; case 212u: goto L_08931388; case 213u: goto L_08931390; case 214u: goto L_089313A4; case 215u: goto L_089313C0; case 216u: goto L_089313D4; case 217u: goto L_089313DC; case 218u: goto L_089313F0; case 219u: goto L_089313F4; case 220u: goto L_08931438; case 221u: goto L_08931448; case 222u: goto L_08931458; case 223u: goto L_0893145C; case 224u: goto L_08931464; case 225u: goto L_0893146C; case 226u: goto L_08931478; case 227u: goto L_08931494; case 228u: goto L_089314A0; case 229u: goto L_089314A8; case 230u: goto L_089314C4; case 231u: goto L_089314D4; case 232u: goto L_089314E4; case 233u: goto L_089314EC; case 234u: goto L_089314F4; case 235u: goto L_08931508; case 236u: goto L_08931524; case 237u: goto L_08931534; case 238u: goto L_08931544; case 239u: goto L_0893154C; case 240u: goto L_08931554; case 241u: goto L_08931558; case 242u: goto L_0893156C; case 243u: goto L_0893157C; case 244u: goto L_089315BC; case 245u: goto L_089315E0; case 246u: goto L_089315E8; case 247u: goto L_089315F0; case 248u: goto L_08931618; case 249u: goto L_08931620; case 250u: goto L_08931660; case 251u: goto L_08931674; case 252u: goto L_0893167C; case 253u: goto L_08931680; case 254u: goto L_089316A4; case 255u: goto L_089316BC; case 256u: goto L_08931710; case 257u: goto L_0893171C; case 258u: goto L_0893172C; case 259u: goto L_08931730; case 260u: goto L_0893176C; case 261u: goto L_08931798; case 262u: goto L_089317A4; case 263u: goto L_089317AC; case 264u: goto L_089317B4; case 265u: goto L_089317BC; case 266u: goto L_089317C4; case 267u: goto L_089317D0; case 268u: goto L_089317DC; case 269u: goto L_08931800; case 270u: goto L_0893181C; case 271u: goto L_08931834; case 272u: goto L_08931848; case 273u: goto L_08931880; case 274u: goto L_0893188C; case 275u: goto L_08931894; case 276u: goto L_089318A4; case 277u: goto L_089318AC; case 278u: goto L_089318B8; case 279u: goto L_089318C0; case 280u: goto L_089318D0; case 281u: goto L_089318D8; case 282u: goto L_089318E4; case 283u: goto L_089318EC; case 284u: goto L_089318FC; case 285u: goto L_08931904; case 286u: goto L_08931914; case 287u: goto L_0893191C; case 288u: goto L_08931928; case 289u: goto L_08931930; case 290u: goto L_08931948; case 291u: goto L_08931950; case 292u: goto L_08931958; case 293u: goto L_08931960; case 294u: goto L_08931970; case 295u: goto L_08931978; case 296u: goto L_08931988; case 297u: goto L_08931990; case 298u: goto L_08931998; case 299u: goto L_089319A0; case 300u: goto L_089319CC; case 301u: goto L_089319D4; case 302u: goto L_089319DC; case 303u: goto L_089319F0; case 304u: goto L_08931A04; case 305u: goto L_08931A34; case 306u: goto L_08931A60; case 307u: goto L_08931A6C; case 308u: goto L_08931A7C; case 309u: goto L_08931A88; case 310u: goto L_08931A98; case 311u: goto L_08931AA4; case 312u: goto L_08931AB4; case 313u: goto L_08931AD0; case 314u: goto L_08931AE8; case 315u: goto L_08931AF4; case 316u: goto L_08931B20; case 317u: goto L_08931B28; case 318u: goto L_08931B30; case 319u: goto L_08931B3C; case 320u: goto L_08931B48; case 321u: goto L_08931B54; case 322u: goto L_08931B60; case 323u: goto L_08931B64; case 324u: goto L_08931B6C; case 325u: goto L_08931B80; case 326u: goto L_08931B94; case 327u: goto L_08931BA4; case 328u: goto L_08931BAC; case 329u: goto L_08931BB8; case 330u: goto L_08931BC0; case 331u: goto L_08931BC8; case 332u: goto L_08931BD8; case 333u: goto L_08931BE8; case 334u: goto L_08931BF8; case 335u: goto L_08931C0C; case 336u: goto L_08931C1C; case 337u: goto L_08931C2C; case 338u: goto L_08931C3C; case 339u: goto L_08931C48; case 340u: goto L_08931C50; case 341u: goto L_08931C58; case 342u: goto L_08931C60; case 343u: goto L_08931C68; case 344u: goto L_08931C74; case 345u: goto L_08931C84; case 346u: goto L_08931C90; case 347u: goto L_08931CA0; case 348u: goto L_08931CB0; case 349u: goto L_08931CB8; case 350u: goto L_08931CC4; case 351u: goto L_08931CCC; case 352u: goto L_08931CD0; case 353u: goto L_08931CE0; case 354u: goto L_08931CEC; case 355u: goto L_08931D08; case 356u: goto L_08931D3C; case 357u: goto L_08931D44; case 358u: goto L_08931D4C; case 359u: goto L_08931D5C; case 360u: goto L_08931D70; case 361u: goto L_08931D78; case 362u: goto L_08931D84; case 363u: goto L_08931D90; case 364u: goto L_08931D9C; case 365u: goto L_08931DA8; case 366u: goto L_08931DB4; case 367u: goto L_08931DC0; case 368u: goto L_08931DC8; case 369u: goto L_08931DCC; case 370u: goto L_08931DDC; case 371u: goto L_08931DE8; case 372u: goto L_08931DFC; case 373u: goto L_08931E04; case 374u: goto L_08931E18; case 375u: goto L_08931E28; case 376u: goto L_08931E34; case 377u: goto L_08931E44; case 378u: goto L_08931E54; case 379u: goto L_08931E60; case 380u: goto L_08931E74; case 381u: goto L_08931E7C; case 382u: goto L_08931E90; case 383u: goto L_08931EA0; case 384u: goto L_08931EAC; case 385u: goto L_08931EBC; case 386u: goto L_08931ECC; case 387u: goto L_08931ED8; case 388u: goto L_08931EEC; case 389u: goto L_08931EF4; case 390u: goto L_08931F08; case 391u: goto L_08931F18; case 392u: goto L_08931F24; case 393u: goto L_08931F34; case 394u: goto L_08931F44; case 395u: goto L_08931F54; case 396u: goto L_08931F5C; case 397u: goto L_08931F64; case 398u: goto L_08931F78; case 399u: goto L_08931F80; case 400u: goto L_08931F98; case 401u: goto L_08931FA8; case 402u: goto L_08931FB4; case 403u: goto L_08931FC4; case 404u: goto L_08931FD0; case 405u: goto L_08931FE8; case 406u: goto L_08932014; case 407u: goto L_08932040; case 408u: goto L_0893204C; case 409u: goto L_08932058; case 410u: goto L_08932068; case 411u: goto L_08932078; case 412u: goto L_08932084; case 413u: goto L_089320A0; case 414u: goto L_089320AC; case 415u: goto L_089320B4; case 416u: goto L_089320C0; case 417u: goto L_089320C4; case 418u: goto L_089320D4; case 419u: goto L_089320E0; case 420u: goto L_089320E8; case 421u: goto L_089320F4; case 422u: goto L_089320F8; case 423u: goto L_08932104; case 424u: goto L_0893211C; case 425u: goto L_08932154; case 426u: goto L_0893216C; case 427u: goto L_08932198; case 428u: goto L_089321B8; case 429u: goto L_089321E4; case 430u: goto L_089321F8; case 431u: goto L_08932270; case 432u: goto L_08932288; case 433u: goto L_089322B8; case 434u: goto L_089322D0; case 435u: goto L_089322EC; case 436u: goto L_08932308; case 437u: goto L_0893231C; case 438u: goto L_08932324; case 439u: goto L_0893232C; case 440u: goto L_08932334; case 441u: goto L_08932340; case 442u: goto L_08932348; case 443u: goto L_08932350; case 444u: goto L_08932360; case 445u: goto L_0893236C; case 446u: goto L_08932374; case 447u: goto L_0893237C; case 448u: goto L_08932384; case 449u: goto L_08932390; case 450u: goto L_08932398; case 451u: goto L_089323A0; case 452u: goto L_089323A8; case 453u: goto L_089323B4; case 454u: goto L_089323BC; case 455u: goto L_089323C4; case 456u: goto L_089323D4; case 457u: goto L_089323E0; case 458u: goto L_089323E8; case 459u: goto L_089323F0; case 460u: goto L_089323F8; case 461u: goto L_08932404; case 462u: goto L_0893240C; case 463u: goto L_08932414; case 464u: goto L_0893241C; case 465u: goto L_08932428; case 466u: goto L_08932430; case 467u: goto L_08932438; case 468u: goto L_08932448; case 469u: goto L_08932454; case 470u: goto L_0893245C; case 471u: goto L_08932464; case 472u: goto L_0893246C; case 473u: goto L_08932478; case 474u: goto L_0893249C; case 475u: goto L_089324B0; case 476u: goto L_089324F4; case 477u: goto L_08932510; case 478u: goto L_08932530; case 479u: goto L_0893255C; case 480u: goto L_08932574; case 481u: goto L_08932598; case 482u: goto L_089325A8; case 483u: goto L_089325D0; case 484u: goto L_089325F8; case 485u: goto L_089325FC; case 486u: goto L_08932608; case 487u: goto L_08932614; case 488u: goto L_0893261C; case 489u: goto L_08932624; case 490u: goto L_0893262C; case 491u: goto L_0893263C; case 492u: goto L_08932668; case 493u: goto L_08932684; case 494u: goto L_08932690; case 495u: goto L_089326A0; case 496u: goto L_089326AC; case 497u: goto L_089326C0; case 498u: goto L_089326CC; case 499u: goto L_089326DC; case 500u: goto L_089326E8; case 501u: goto L_089326FC; case 502u: goto L_08932704; case 503u: goto L_0893270C; case 504u: goto L_08932714; case 505u: goto L_08932720; case 506u: goto L_0893272C; case 507u: goto L_08932734; case 508u: goto L_08932758; case 509u: goto L_0893279C; case 510u: goto L_089327B8; case 511u: goto L_089327CC; case 512u: goto L_089327E4; case 513u: goto L_089327EC; case 514u: goto L_089327F4; case 515u: goto L_08932800; case 516u: goto L_08932810; case 517u: goto L_08932814; case 518u: goto L_08932824; case 519u: goto L_08932864; case 520u: goto L_0893286C; case 521u: goto L_0893287C; case 522u: goto L_08932880; case 523u: goto L_08932888; case 524u: goto L_08932890; case 525u: goto L_089328A0; case 526u: goto L_089328BC; case 527u: goto L_089328C4; case 528u: goto L_089328D0; case 529u: goto L_089328D8; case 530u: goto L_089328E0; case 531u: goto L_089328E8; case 532u: goto L_089328F4; case 533u: goto L_08932908; case 534u: goto L_08932928; case 535u: goto L_0893293C; case 536u: goto L_0893295C; case 537u: goto L_08932964; case 538u: goto L_0893296C; case 539u: goto L_08932978; case 540u: goto L_089329A4; case 541u: goto L_089329A8; case 542u: goto L_089329BC; case 543u: goto L_089329DC; case 544u: goto L_089329E4; case 545u: goto L_089329F0; case 546u: goto L_089329F8; case 547u: goto L_08932A00; case 548u: goto L_08932A08; case 549u: goto L_08932A14; case 550u: goto L_08932A28; case 551u: goto L_08932A44; case 552u: goto L_08932A58; case 553u: goto L_08932A60; case 554u: goto L_08932A70; case 555u: goto L_08932A80; case 556u: goto L_08932AC0; case 557u: goto L_08932ACC; case 558u: goto L_08932ADC; case 559u: goto L_08932AF0; case 560u: goto L_08932AF8; case 561u: goto L_08932B04; case 562u: goto L_08932B10; case 563u: goto L_08932B1C; case 564u: goto L_08932B34; case 565u: goto L_08932B3C; case 566u: goto L_08932B48; case 567u: goto L_08932B50; case 568u: goto L_08932B58; case 569u: goto L_08932B64; case 570u: goto L_08932B68; case 571u: goto L_08932B90; case 572u: goto L_08932BA8; case 573u: goto L_08932BB0; case 574u: goto L_08932BB8; case 575u: goto L_08932BC0; case 576u: goto L_08932BD4; case 577u: goto L_08932BF4; case 578u: goto L_08932C00; case 579u: goto L_08932C14; case 580u: goto L_08932C2C; case 581u: goto L_08932C40; case 582u: goto L_08932C48; case 583u: goto L_08932C50; case 584u: goto L_08932C58; case 585u: goto L_08932C64; case 586u: goto L_08932C6C; case 587u: goto L_08932C74; case 588u: goto L_08932C88; case 589u: goto L_08932C94; case 590u: goto L_08932C9C; case 591u: goto L_08932CA4; case 592u: goto L_08932CD8; case 593u: goto L_08932CF8; case 594u: goto L_08932D14; case 595u: goto L_08932D38; case 596u: goto L_08932D4C; case 597u: goto L_08932D54; case 598u: goto L_08932D74; case 599u: goto L_08932D80; case 600u: goto L_08932D98; case 601u: goto L_08932D9C; case 602u: goto L_08932DB0; case 603u: goto L_08932DCC; case 604u: goto L_08932DDC; case 605u: goto L_08932E04; case 606u: goto L_08932E10; case 607u: goto L_08932E18; case 608u: goto L_08932E1C; case 609u: goto L_08932E28; case 610u: goto L_08932E40; case 611u: goto L_08932E58; case 612u: goto L_08932E60; case 613u: goto L_08932E68; case 614u: goto L_08932E84; case 615u: goto L_08932E8C; case 616u: goto L_08932EAC; case 617u: goto L_08932EB8; case 618u: goto L_08932ED0; case 619u: goto L_08932ED4; case 620u: goto L_08932EE8; case 621u: goto L_08932F00; case 622u: goto L_08932F08; case 623u: goto L_08932F10; case 624u: goto L_08932F2C; case 625u: goto L_08932F34; case 626u: goto L_08932F54; case 627u: goto L_08932F60; case 628u: goto L_08932F78; case 629u: goto L_08932F7C; case 630u: goto L_08932F90; case 631u: goto L_08932F98; case 632u: goto L_08932FC0; case 633u: goto L_08932FE8; case 634u: goto L_08933010; case 635u: goto L_08933020; case 636u: goto L_08933024; case 637u: goto L_08933048; case 638u: goto L_08933050; case 639u: goto L_08933070; case 640u: goto L_0893307C; case 641u: goto L_08933094; case 642u: goto L_08933098; case 643u: goto L_089330B0; case 644u: goto L_0893310C; case 645u: goto L_089331F0; case 646u: goto L_08933200; case 647u: goto L_08933218; case 648u: goto L_0893322C; case 649u: goto L_0893323C; case 650u: goto L_08933250; case 651u: goto L_08933264; case 652u: goto L_08933274; case 653u: goto L_0893328C; case 654u: goto L_0893329C; case 655u: goto L_089332A8; case 656u: goto L_089332BC; case 657u: goto L_089332F8; case 658u: goto L_08933330; case 659u: goto L_08933338; case 660u: goto L_0893337C; case 661u: goto L_08933384; case 662u: goto L_089333E8; case 663u: goto L_08933438; case 664u: goto L_08933440; case 665u: goto L_08933494; case 666u: goto L_089334DC; case 667u: goto L_08933504; case 668u: goto L_0893351C; case 669u: goto L_08933524; case 670u: goto L_08933528; case 671u: goto L_08933534; case 672u: goto L_0893354C; case 673u: goto L_08933580; case 674u: goto L_0893358C; case 675u: goto L_08933594; case 676u: goto L_089335A0; case 677u: goto L_089335AC; case 678u: goto L_089335B4; case 679u: goto L_089335C8; case 680u: goto L_089335E8; case 681u: goto L_08933614; case 682u: goto L_08933624; case 683u: goto L_0893363C; case 684u: goto L_08933670; case 685u: goto L_0893367C; case 686u: goto L_08933684; case 687u: goto L_08933698; case 688u: goto L_089336B0; case 689u: goto L_089336D0; case 690u: goto L_0893370C; case 691u: goto L_08933718; case 692u: goto L_08933720; case 693u: goto L_08933734; case 694u: goto L_0893375C; case 695u: goto L_08933780; case 696u: goto L_089337A0; case 697u: goto L_089337B8; case 698u: goto L_089337C4; case 699u: goto L_089337CC; case 700u: goto L_089337E0; case 701u: goto L_08933800; case 702u: goto L_08933820; case 703u: goto L_08933850; case 704u: goto L_08933898; case 705u: goto L_089338A8; case 706u: goto L_089338C0; case 707u: goto L_089338D0; case 708u: goto L_089338E0; case 709u: goto L_089338F4; case 710u: goto L_08933904; case 711u: goto L_08933914; case 712u: goto L_08933928; case 713u: goto L_089339A0; case 714u: goto L_089339BC; case 715u: goto L_089339F4; case 716u: goto L_08933AA4; case 717u: goto L_08933AB4; case 718u: goto L_08933ACC; case 719u: goto L_08933AE0; case 720u: goto L_08933AF0; case 721u: goto L_08933B04; case 722u: goto L_08933B18; case 723u: goto L_08933B28; case 724u: goto L_08933B40; case 725u: goto L_08933B50; case 726u: goto L_08933B5C; case 727u: goto L_08933B70; case 728u: goto L_08933BD8; case 729u: goto L_08933BE0; case 730u: goto L_08933C30; case 731u: goto L_08933C38; case 732u: goto L_08933C98; case 733u: goto L_08933CBC; case 734u: goto L_08933CDC; case 735u: goto L_08933CF8; case 736u: goto L_08933D1C; case 737u: goto L_08933D20; case 738u: goto L_08933D3C; case 739u: goto L_08933D58; case 740u: goto L_08933D6C; case 741u: goto L_08933D7C; case 742u: goto L_08933DB4; case 743u: goto L_08933DC0; case 744u: goto L_08933DCC; case 745u: goto L_08933DD4; case 746u: goto L_08933DDC; case 747u: goto L_08933DF4; case 748u: goto L_08933DF8; case 749u: goto L_08933E00; case 750u: goto L_08933E24; case 751u: goto L_08933E38; case 752u: goto L_08933E74; case 753u: goto L_08933E80; case 754u: goto L_08933EA8; case 755u: goto L_08933EB0; case 756u: goto L_08933EB4; case 757u: goto L_08933ED0; case 758u: goto L_08933EF4; case 759u: goto L_08933F0C; case 760u: goto L_08933F44; case 761u: goto L_08933F4C; case 762u: goto L_08933F5C; case 763u: goto L_08933F6C; case 764u: goto L_08933F70; case 765u: goto L_08933F78; case 766u: goto L_08933F94; case 767u: goto L_08933FA4; case 768u: goto L_08933FB4; case 769u: goto L_08933FC0; case 770u: goto L_08933FC8; case 771u: goto L_08933FCC; case 772u: goto L_08933FFC; 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_08930000: goto L_08930004; L_08930004: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_08930034; } goto L_08930024; } L_08930024: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930064; } goto L_0893002C; } L_0893002C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_08930350; } goto L_08930034; } L_08930034: aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { 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(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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0893008C; } goto L_08930064; } L_08930064: aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { 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(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_12)); goto L_0893008C; L_0893008C: aot_gpr_4 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + 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_5 = (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 = 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_4 = (aot_gpr_29 + static_cast(144)); { 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(80)); { 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_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); 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 = (0x089300E4u); 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_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089300E4u) goto L_089300E4; AOT_REGCACHE_SYNC_OUT(); return; L_089300E4: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0893012C; } goto L_089300EC; } L_089300EC: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { 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_5 = (aot_gpr_29 + static_cast(352)); { 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); } aot_gpr_4 = (aot_gpr_29 + static_cast(208)); { 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(336)); { 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(368)); { 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 bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930350; } goto L_0893012C; } L_0893012C: aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { 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_5 = (aot_gpr_29 + static_cast(400)); { 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); } aot_gpr_5 = (aot_gpr_29 + static_cast(208)); { 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_6 = (aot_gpr_29 + static_cast(384)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + 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_6 + 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_6 = (aot_gpr_29 + static_cast(416)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + 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[17] + static_cast(4))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); aot_gpr_6 = (aot_gpr_16 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_6 + 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_6 = (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_6 + 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_6 + 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(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_6 = (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_6 + 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_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); } { const std::uint32_t vfpu_address = aot_gpr_6 + 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 = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_gpr_5 = (aot_gpr_29 + static_cast(112)); aot_gpr_6 = (aot_gpr_29 + static_cast(224)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_31 = (0x089301E4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089301E4u) goto L_089301E4; AOT_REGCACHE_SYNC_OUT(); return; L_089301E4: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0893022C; } goto L_089301EC; } L_089301EC: aot_gpr_4 = (aot_gpr_29 + static_cast(208)); { 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(160)); { 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_5 = (aot_gpr_29 + static_cast(432)); { 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_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); } aot_gpr_5 = (aot_gpr_29 + static_cast(448)); { 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); } 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_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930350; } goto L_0893022C; } L_0893022C: aot_gpr_4 = (aot_gpr_29 + static_cast(208)); { 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(160)); { 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(480)); { 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(496)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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(aot_gpr_29 + static_cast(116))); 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(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930298; } goto L_08930278; } L_08930278: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); 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_089302FC; } goto L_08930298; } L_08930298: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(552), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(528)); { 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(544)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089302FC; } goto L_089302F4; } L_089302F4: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_08930350; } goto L_089302FC; } L_089302FC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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(aot_gpr_29 + static_cast(116))); 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(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (ctx.gpr[17] + 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_gpr_5 = (std::bit_cast(ctx.fpr[24])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (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_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 = (0x08930348u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930348u) goto L_08930348; AOT_REGCACHE_SYNC_OUT(); return; L_08930348: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); goto L_08930350; L_08930350: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(916), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.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.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(960)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08930380: aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_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(148), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); { 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.gpr[20] = (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 = ctx.gpr[20] + 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(aot_gpr_16 + static_cast(80))); aot_gpr_31 = (0x089303C4u); aot_gpr_6 = (0u | 235u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089303C4u) goto L_089303C4; AOT_REGCACHE_SYNC_OUT(); return; L_089303C4: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089303E0; } goto L_089303D0; } L_089303D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089304A8; } goto L_089303E0; } L_089303E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_31 = (0x08930404u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 934u, 0x0885FE8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930404u) goto L_08930404; AOT_REGCACHE_SYNC_OUT(); return; L_08930404: aot_fpr_20 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_20)); ctx.gpr[18] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08930430u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 178u, 0x08904B64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930430u) goto L_08930430; AOT_REGCACHE_SYNC_OUT(); return; L_08930430: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + 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[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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + 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[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); } { 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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[24] = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { 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); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[20] = (0u + static_cast(-5)); if (branch_taken) { goto L_089304B0; } goto L_089304A0; } L_089304A0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089304B4; } goto L_089304A8; } L_089304A8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930820; } goto L_089304B0; } L_089304B0: aot_gpr_4 = (0u | 1u); goto L_089304B4; L_089304B4: ctx.gpr[17] = (aot_gpr_4 & 255u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_20)) ? 0x00800000u : 0u); ctx.gpr[18] = (0u | 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.gpr[18] = (0u | 1u); goto L_089304C8; } goto L_089304C8; L_089304C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); aot_gpr_5 = (32768u << 16u); ctx.gpr[18] = (ctx.gpr[18] & 255u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (0u | 2u); if (branch_taken) { goto L_08930610; } goto L_089304E0; } L_089304E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930510; } goto L_089304F0; } L_089304F0: { const bool branch_taken = ctx.gpr[17] != 0u; if (branch_taken) { goto L_08930510; } goto L_089304F8; } L_089304F8: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08930508; } goto L_08930500; } L_08930500: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 241u); if (branch_taken) { goto L_08930738; } goto L_08930508; } L_08930508: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 239u); if (branch_taken) { goto L_08930738; } goto L_08930510; } L_08930510: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08930540; } goto L_08930520; } L_08930520: { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; if (branch_taken) { goto L_08930540; } goto L_08930528; } L_08930528: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08930538; } goto L_08930530; } L_08930530: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 240u); if (branch_taken) { goto L_08930738; } goto L_08930538; } L_08930538: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 238u); if (branch_taken) { goto L_08930738; } goto L_08930540; } L_08930540: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930568; } goto L_08930550; } L_08930550: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08930560u); aot_gpr_6 = (0u | 237u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930560u) goto L_08930560; AOT_REGCACHE_SYNC_OUT(); return; L_08930560: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0893057C; } goto L_08930568; } L_08930568: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08930578u); aot_gpr_6 = (0u | 236u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930578u) goto L_08930578; AOT_REGCACHE_SYNC_OUT(); return; L_08930578: aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_0893057C; L_0893057C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930608; } goto L_08930584; } L_08930584: aot_gpr_6 = (49049u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_6 = (16281u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_gpr_5 = (aot_gpr_5 & 2u); { const bool branch_taken = aot_gpr_5 != 0u; aot_fpr_13 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_089305C0; } goto L_089305A8; } L_089305A8: aot_gpr_5 = (49075u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16268u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_5); goto L_089305C0; L_089305C0: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_14)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = aot_fpr_14 - aot_fpr_12; goto L_089305EC; } goto L_089305D4; L_089305D4: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_089305E8; } goto L_089305E8; L_089305E8: aot_fpr_14 = aot_fpr_14 - aot_fpr_12; goto L_089305EC; L_089305EC: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = aot_fpr_14 / aot_fpr_12; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; aot_gpr_31 = (0x08930608u); { const float fs = ctx.fpr[15]; 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; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930608u) goto L_08930608; AOT_REGCACHE_SYNC_OUT(); return; L_08930608: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930738; } goto L_08930610; } L_08930610: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08930640; } goto L_08930620; } L_08930620: { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; if (branch_taken) { goto L_08930640; } goto L_08930628; } L_08930628: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08930638; } goto L_08930630; } L_08930630: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 248u); if (branch_taken) { goto L_08930738; } goto L_08930638; } L_08930638: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 246u); if (branch_taken) { goto L_08930738; } goto L_08930640; } L_08930640: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930670; } goto L_08930650; } L_08930650: { const bool branch_taken = ctx.gpr[17] != 0u; if (branch_taken) { goto L_08930670; } goto L_08930658; } L_08930658: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08930668; } goto L_08930660; } L_08930660: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 247u); if (branch_taken) { goto L_08930738; } goto L_08930668; } L_08930668: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 245u); if (branch_taken) { goto L_08930738; } goto L_08930670; } L_08930670: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930698; } goto L_08930680; } L_08930680: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08930690u); aot_gpr_6 = (0u | 243u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930690u) goto L_08930690; AOT_REGCACHE_SYNC_OUT(); return; L_08930690: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_089306AC; } goto L_08930698; } L_08930698: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089306A8u); aot_gpr_6 = (0u | 244u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089306A8u) goto L_089306A8; AOT_REGCACHE_SYNC_OUT(); return; L_089306A8: aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_089306AC; L_089306AC: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930738; } goto L_089306B4; } L_089306B4: aot_gpr_6 = (49049u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_6 = (16281u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_gpr_5 = (aot_gpr_5 & 2u); { const bool branch_taken = aot_gpr_5 != 0u; aot_fpr_13 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_089306F0; } goto L_089306D8; } L_089306D8: aot_gpr_5 = (49075u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16268u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_5); goto L_089306F0; L_089306F0: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_14)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = aot_fpr_14 - aot_fpr_12; goto L_0893071C; } goto L_08930704; L_08930704: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_08930718; } goto L_08930718; L_08930718: aot_fpr_14 = aot_fpr_14 - aot_fpr_12; goto L_0893071C; L_0893071C: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = aot_fpr_14 / aot_fpr_12; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; aot_gpr_31 = (0x08930738u); { const float fs = ctx.fpr[15]; 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; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930738u) goto L_08930738; AOT_REGCACHE_SYNC_OUT(); return; L_08930738: aot_gpr_4 = (0u | 2u); if (ctx.gpr[19] == aot_gpr_4) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); goto L_089307C0; } goto L_08930744; L_08930744: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08930754u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930754u) goto L_08930754; AOT_REGCACHE_SYNC_OUT(); return; L_08930754: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_089307BC; } goto L_0893075C; } L_0893075C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(860))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[20]); aot_gpr_31 = (0x08930770u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(860), aot_gpr_5); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930770u) goto L_08930770; AOT_REGCACHE_SYNC_OUT(); return; L_08930770: aot_gpr_31 = (0x08930778u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 410u, 0x08909880u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930778u) goto L_08930778; AOT_REGCACHE_SYNC_OUT(); return; L_08930778: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_31 = (0x08930784u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 197u, 0x0886D43Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930784u) goto L_08930784; AOT_REGCACHE_SYNC_OUT(); return; L_08930784: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 59u); aot_gpr_31 = (0x08930798u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930798u) goto L_08930798; AOT_REGCACHE_SYNC_OUT(); return; L_08930798: aot_gpr_4 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (2193u << 16u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(44), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(-12812)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089307BCu); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089307BCu) goto L_089307BC; AOT_REGCACHE_SYNC_OUT(); return; L_089307BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); goto L_089307C0; L_089307C0: aot_gpr_6 = (0u + static_cast(-257)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); ctx.gpr[7] = (0u + static_cast(-3)); aot_gpr_6 = (ctx.gpr[17] & 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); aot_gpr_4 = (aot_gpr_6 << 1u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] & 1u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[20]); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930820; } goto L_0893080C; } L_0893080C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08930820; } goto L_08930818; } L_08930818: aot_gpr_31 = (0x08930820u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930820u) goto L_08930820; AOT_REGCACHE_SYNC_OUT(); return; L_08930820: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(148), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; 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]; aot_gpr_31 = aot_run_words[8]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(192)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0893084C: aot_gpr_29 = (aot_gpr_29 + static_cast(-480)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), std::bit_cast(ctx.fpr[24])); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), aot_gpr_16); ctx.gpr[7] = (48665u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[7] = (ctx.gpr[7] | 39322u); aot_gpr_4 = (ctx.gpr[8] & 512u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(444), aot_run_words); } { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.gpr[20] = (0u | 0u); ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 255u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(420), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(428), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(456), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089308D0; } goto L_089308C0; } L_089308C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089308F4; } goto L_089308D0; } L_089308D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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_089308FC; } goto L_089308EC; } L_089308EC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930944; } goto L_089308F4; } L_089308F4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08931730; } goto L_089308FC; } L_089308FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0893091C; } goto L_0893090C; } L_0893090C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08930924; } goto L_0893091C; } L_0893091C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_08930944; } goto L_08930924; } L_08930924: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08930944; } goto L_08930934; } L_08930934: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_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_0893095C; } goto L_08930944; } L_08930944: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 16384u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); goto L_08930964; } goto L_08930954; L_08930954: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); if (branch_taken) { goto L_089313F4; } goto L_0893095C; } L_0893095C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08931730; } goto L_08930964; } L_08930964: aot_gpr_4 = (aot_gpr_4 & 4096u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); goto L_089313F4; } goto L_08930970; L_08930970: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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); if (aot_gpr_4 != 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); goto L_089313F4; } goto L_0893098C; L_0893098C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[21] = (256u << 16u); if (branch_taken) { goto L_08930BFC; } goto L_089309A4; } L_089309A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_fpr_20 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1300), 0u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[22] = (aot_gpr_16 + static_cast(320)); if (branch_taken) { goto L_089309DC; } goto L_089309BC; } L_089309BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-3)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); goto L_089309DC; L_089309DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (0u + static_cast(-1025)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 1024u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(416))); { 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; 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_mem.aot_direct_store32(aot_gpr_16 + static_cast(416), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_5 = (65280u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); aot_gpr_31 = (0x08930A34u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.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 == 0x08930A34u) goto L_08930A34; AOT_REGCACHE_SYNC_OUT(); return; L_08930A34: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08930BE4; } goto L_08930A3C; } L_08930A3C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(416))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); goto L_08930A88; } goto L_08930A58; L_08930A58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(416))); aot_gpr_4 = (16384u << 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_08930BE4; } goto L_08930A74; } L_08930A74: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08930BE4; } goto L_08930A84; } L_08930A84: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); goto L_08930A88; L_08930A88: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); { 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(32), aot_run_words); } aot_gpr_5 = (16261u << 16u); aot_gpr_5 = (aot_gpr_5 | 7864u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_gpr_6 & 2u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; aot_fpr_12 = aot_fpr_14 - ctx.fpr[22]; if (branch_taken) { goto L_08930AD8; } goto L_08930AC4; } L_08930AC4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_5 = (48768u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_13)); goto L_08930AD8; L_08930AD8: aot_gpr_6 = (aot_gpr_16 + static_cast(352)); aot_gpr_31 = (0x08930AE4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 225u, 0x088B1AB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930AE4u) goto L_08930AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08930AE4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08930BC4; } goto L_08930AEC; } L_08930AEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); aot_gpr_4 = (8192u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08930B28; } goto L_08930B0C; } L_08930B0C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; 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_08930B54; } goto L_08930B28; } L_08930B28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08930B54; } goto L_08930B40; } L_08930B40: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_5 = (57344u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); goto L_08930B54; L_08930B54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08930B6Cu); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); 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 == 0x08930B6Cu) goto L_08930B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08930B6C: aot_gpr_31 = (0x08930B74u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 563u, 0x0881F274u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930B74u) goto L_08930B74; AOT_REGCACHE_SYNC_OUT(); return; L_08930B74: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08930B90; } goto L_08930B7C; } L_08930B7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08930BDC; } goto L_08930B90; } L_08930B90: { 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_5 = (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_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_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08930BA8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930BA8u) goto L_08930BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08930BA8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930BDC; } goto L_08930BC4; } L_08930BC4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(400), static_cast(0u)); aot_gpr_5 = (0u + static_cast(-3)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(416), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); goto L_08930BDC; L_08930BDC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08930BFC; } goto L_08930BE4; } L_08930BE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(400), static_cast(0u)); aot_gpr_5 = (0u + static_cast(-3)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(416), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); goto L_08930BFC; L_08930BFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (16133u << 16u); if (branch_taken) { goto L_089313F0; } goto L_08930C0C; } L_08930C0C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_4 = (aot_gpr_4 | 7864u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[15])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); 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_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (aot_gpr_5 & 2u); aot_fpr_20 = aot_fpr_12 + aot_fpr_14; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_20 = aot_fpr_20 - ctx.fpr[24]; if (branch_taken) { goto L_08930CA0; } goto L_08930C6C; } L_08930C6C: { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_4 = (16384u << 16u); if (branch_taken) { goto L_08930C94; } goto L_08930C74; } L_08930C74: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); { const float fs = ctx.fpr[24]; 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(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24]) & 0x7FFFFFFFu); { const bool branch_taken = 0u == 0u; aot_fpr_20 = aot_fpr_20 + aot_fpr_12; if (branch_taken) { goto L_08930CA0; } goto L_08930C94; } L_08930C94: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); goto L_08930CA0; L_08930CA0: ctx.gpr[22] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08930CB0u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 389u, 0x08905CECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930CB0u) goto L_08930CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08930CB0: { 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[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<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_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_20; 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; } 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_089313F0; } goto L_08930CE8; } L_08930CE8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (16261u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_4 | 7864u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_14)); aot_fpr_12 = aot_fpr_13 - ctx.fpr[22]; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (16256u << 16u); aot_gpr_4 = (aot_gpr_4 & 2u); aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[22] = (aot_gpr_29 + static_cast(304)); if (branch_taken) { goto L_08930D60; } goto L_08930D40; } L_08930D40: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (48768u << 16u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); goto L_08930D60; L_08930D60: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[21] | 0u); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[20] + static_cast(16)); aot_gpr_31 = (0x08930D90u); ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 207u, 0x088B1820u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930D90u) goto L_08930D90; AOT_REGCACHE_SYNC_OUT(); return; L_08930D90: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[8] = (aot_gpr_29 + static_cast(144)); if (branch_taken) { goto L_08930DA0; } goto L_08930D98; } L_08930D98: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08930DC4; } goto L_08930DA0; } L_08930DA0: ctx.gpr[11] = (aot_gpr_16 + static_cast(352)); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08930DC0u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 23u, 0x088B426Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930DC0u) goto L_08930DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08930DC0: aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_08930DC4; L_08930DC4: { const bool branch_taken = ctx.gpr[19] == 0u; ctx.gpr[20] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08930E60; } goto L_08930DCC; } L_08930DCC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (aot_gpr_5 & 2u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08930E60; } goto L_08930DE4; } L_08930DE4: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08930E60; } goto L_08930DEC; } L_08930DEC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); aot_fpr_13 = aot_fpr_12 + ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_13)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); ctx.gpr[21] = (aot_gpr_29 + static_cast(336)); aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[21] | 0u); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08930E2Cu); aot_gpr_6 = (ctx.gpr[20] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 207u, 0x088B1820u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930E2Cu) goto L_08930E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08930E2C: { const bool branch_taken = ctx.gpr[2] != 0u; ctx.gpr[8] = (aot_gpr_29 + static_cast(144)); if (branch_taken) { goto L_08930E3C; } goto L_08930E34; } L_08930E34: { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_08930E60; } goto L_08930E3C; } L_08930E3C: ctx.gpr[11] = (aot_gpr_16 + static_cast(352)); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08930E5Cu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 23u, 0x088B426Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930E5Cu) goto L_08930E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08930E5C: ctx.gpr[20] = (ctx.gpr[2] | 0u); goto L_08930E60; L_08930E60: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_089313DC; } goto L_08930E68; } L_08930E68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[26] = std::bit_cast(0u); if (branch_taken) { goto L_08930EC0; } goto L_08930E78; } L_08930E78: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; 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_08930EC0; } goto L_08930E94; } L_08930E94: { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_4 = (16455u << 16u); if (branch_taken) { goto L_089310B4; } goto L_08930E9C; } L_08930E9C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 44564u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; 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_089310B4; } goto L_08930EC0; } L_08930EC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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; ctx.gpr[19] = (8192u << 16u); if (branch_taken) { goto L_08930EF8; } goto L_08930EDC; } L_08930EDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); 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_08930FD0; } goto L_08930EF8; } L_08930EF8: { const bool branch_taken = ctx.gpr[18] == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1300), ctx.gpr[18]); if (branch_taken) { goto L_08930F0C; } goto L_08930F00; } L_08930F00: aot_gpr_5 = (aot_gpr_16 + static_cast(1300)); aot_gpr_31 = (0x08930F0Cu); 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_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, 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_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930F0Cu) goto L_08930F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08930F0C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); 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(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (ctx.gpr[18] + 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(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); } { 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_16 + static_cast(1312)); { 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_mem.aot_direct_store32(aot_gpr_16 + static_cast(1328), ctx.gpr[18]); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_5 = (aot_gpr_16 + static_cast(1328)); if (branch_taken) { goto L_08930F60; } goto L_08930F58; } L_08930F58: aot_gpr_31 = (0x08930F60u); 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_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, 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_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930F60u) goto L_08930F60; AOT_REGCACHE_SYNC_OUT(); return; L_08930F60: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(400), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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_08930FB4; } goto L_08930F80; } L_08930F80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08930FA0; } goto L_08930F90; } L_08930F90: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08930FB4; } goto L_08930FA0; } L_08930FA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_5 = (4096u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_08930FC8; } goto L_08930FB4; } L_08930FB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_5 = (61440u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); goto L_08930FC8; L_08930FC8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931008; } goto L_08930FD0; } L_08930FD0: { const bool branch_taken = ctx.gpr[18] == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1328), ctx.gpr[18]); if (branch_taken) { goto L_08930FE4; } goto L_08930FD8; } L_08930FD8: aot_gpr_5 = (aot_gpr_16 + static_cast(1328)); aot_gpr_31 = (0x08930FE4u); 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_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, 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_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930FE4u) goto L_08930FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08930FE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_5 = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); aot_gpr_4 = (61440u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); goto L_08931008; L_08931008: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08931034; } goto L_08931018; } L_08931018: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; 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_08931070; } goto L_08931034; } L_08931034: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_5 = (0u | 44u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08931070; } goto L_08931044; } L_08931044: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08931070; } goto L_0893105C; } L_0893105C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_5 = (57344u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); goto L_08931070; L_08931070: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(30))); aot_gpr_5 = (0u | 26u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(311), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089310B4; } goto L_08931080; } L_08931080: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(192)); { 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_16 + static_cast(288)); { 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); } goto L_089310B4; L_089310B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089310C4u); aot_gpr_6 = (0u | 139u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089310C4u) goto L_089310C4; AOT_REGCACHE_SYNC_OUT(); return; L_089310C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 2u); 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_5 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08931300; } goto L_089310DC; } L_089310DC: aot_gpr_4 = (aot_gpr_16 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (16168u << 16u); aot_gpr_6 = (aot_gpr_6 | 62915u); aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); goto L_08931124; } goto L_08931110; L_08931110: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); aot_gpr_6 = (aot_gpr_6 & 32u); if (aot_gpr_6 == 0u) { aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2116))); goto L_08931140; } goto L_08931120; L_08931120: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); goto L_08931124; L_08931124: aot_gpr_6 = (48768u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08931300; } goto L_0893113C; } L_0893113C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2116))); goto L_08931140; L_08931140: { const bool branch_taken = aot_gpr_6 == ctx.gpr[18]; if (branch_taken) { goto L_08931300; } goto L_08931148; } L_08931148: aot_gpr_5 = (16000u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (15395u << 16u); ctx.fpr[22] = aot_fpr_12 - ctx.fpr[22]; aot_gpr_5 = (aot_gpr_5 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (48768u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] <= ctx.fpr[22])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_08931178; } goto L_08931178; L_08931178: aot_gpr_5 = (17096u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_089311B0; } goto L_08931198; } L_08931198: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); aot_gpr_5 = (17302u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fpr[15] = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } ctx.fpr[22] = ctx.fpr[24] + ctx.fpr[22]; goto L_089311B0; L_089311B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(320))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[19] = (0u | 2u); if (branch_taken) { goto L_0893120C; } goto L_089311C4; } L_089311C4: aot_gpr_5 = (48163u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(320))); aot_gpr_5 = (aot_gpr_5 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_5); 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_0893120C; } goto L_089311E4; } L_089311E4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(324))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0893120C; } goto L_089311F8; } L_089311F8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(324))); 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_08931274; } goto L_0893120C; } L_0893120C: aot_gpr_5 = (49024u << 16u); 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(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(400), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), aot_gpr_5); aot_gpr_5 = (aot_gpr_29 + static_cast(216)); aot_gpr_31 = (0x08931270u); aot_gpr_4 = (aot_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 == 0x08931270u) goto L_08931270; AOT_REGCACHE_SYNC_OUT(); return; L_08931270: ctx.gpr[19] = (ctx.gpr[2] | 0u); goto L_08931274; L_08931274: aot_gpr_31 = (0x0893127Cu); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(30))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 250u, 0x08A91F58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893127Cu) goto L_0893127C; AOT_REGCACHE_SYNC_OUT(); return; L_0893127C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08931290; } goto L_08931284; } L_08931284: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } goto L_08931290; L_08931290: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 47u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089312B0u); 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 == 0x089312B0u) goto L_089312B0; AOT_REGCACHE_SYNC_OUT(); return; L_089312B0: aot_gpr_31 = (0x089312B8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.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 == 0x089312B8u) goto L_089312B8; AOT_REGCACHE_SYNC_OUT(); return; L_089312B8: { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (16544u << 16u); if (branch_taken) { goto L_089312F8; } goto L_089312C0; } L_089312C0: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089312F8; } goto L_089312D4; } L_089312D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089312E0u); aot_gpr_5 = (0u | 105u); 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 == 0x089312E0u) goto L_089312E0; AOT_REGCACHE_SYNC_OUT(); return; L_089312E0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089312F8u); aot_gpr_6 = (0u | 36u); 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 == 0x089312F8u) goto L_089312F8; AOT_REGCACHE_SYNC_OUT(); return; L_089312F8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931368; } goto L_08931300; } L_08931300: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 2u); 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_08931368; } goto L_08931318; } L_08931318: { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (48259u << 16u); if (branch_taken) { goto L_08931368; } goto L_08931320; } L_08931320: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); { 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; } 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_08931368; } goto L_08931344; } L_08931344: ctx.gpr[10] = (16752u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 47u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 2u); aot_gpr_31 = (0x08931368u); 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 == 0x08931368u) goto L_08931368; AOT_REGCACHE_SYNC_OUT(); return; L_08931368: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08931380u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); 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 == 0x08931380u) goto L_08931380; AOT_REGCACHE_SYNC_OUT(); return; L_08931380: aot_gpr_31 = (0x08931388u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 563u, 0x0881F274u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931388u) goto L_08931388; AOT_REGCACHE_SYNC_OUT(); return; L_08931388: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089313A4; } goto L_08931390; } L_08931390: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089313D4; } goto L_089313A4; } L_089313A4: aot_gpr_4 = (aot_gpr_16 + 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); } 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x089313C0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089313C0u) goto L_089313C0; AOT_REGCACHE_SYNC_OUT(); return; L_089313C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); goto L_089313D4; L_089313D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089313F0; } goto L_089313DC; } L_089313DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_5 = (61440u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); goto L_089313F0; L_089313F0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); goto L_089313F4; L_089313F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); 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_6 = (aot_gpr_6 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x08931438u); ctx.gpr[10] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 66u, 0x088B4738u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931438u) goto L_08931438; AOT_REGCACHE_SYNC_OUT(); return; L_08931438: if (ctx.gpr[2] != 0u && (aot_mem.aot_direct_load32(aot_gpr_16 + 72u) & 14u) == 6u && (aot_mem.aot_direct_load32(ctx.gpr[18] + 72u) & 14u) == 2u) { const float ped_vz = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + 328u)); if (ped_vz <= 0.0f) { const std::uint32_t count = ctx.gpr[2] > 32u ? 32u : ctx.gpr[2]; for (std::uint32_t i = 0; i < count; ++i) { const std::uint32_t point = ctx.gpr[17] + i * 32u; const float nz = std::bit_cast(aot_mem.aot_direct_load32(point + 24u)); if (nz < -0.5f) { for (std::uint32_t component = 16u; component <= 24u; component += 4u) { const std::uint32_t bits = aot_mem.aot_direct_load32(point + component); aot_mem.aot_direct_store32(point + component, bits ^ 0x80000000u); } } } } } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (0u | 345u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[19] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0893145C; } goto L_08931448; } L_08931448: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_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_0893145C; } goto L_08931458; } L_08931458: ctx.gpr[19] = (0u | 0u); goto L_0893145C; L_0893145C: { const bool branch_taken = static_cast(ctx.gpr[19]) > 0; if (branch_taken) { goto L_0893146C; } goto L_08931464; } L_08931464: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_08931508; } goto L_0893146C; } L_0893146C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931478u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 570u, 0x08A66AD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931478u) goto L_08931478; AOT_REGCACHE_SYNC_OUT(); return; L_08931478: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); 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_089314A0; } goto L_08931494; } L_08931494: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089314A0u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 570u, 0x08A66AD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089314A0u) goto L_089314A0; AOT_REGCACHE_SYNC_OUT(); return; L_089314A0: { const bool branch_taken = static_cast(ctx.gpr[19]) <= 0; if (branch_taken) { goto L_08931508; } goto L_089314A8; } L_089314A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); 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_089314F4; } goto L_089314C4; } L_089314C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089314E4; } goto L_089314D4; } L_089314D4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089314EC; } goto L_089314E4; } L_089314E4: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_089314EC; L_089314EC: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08931508; } goto L_089314F4; } L_089314F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); goto L_08931508; L_08931508: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); 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_16 + static_cast(456))); goto L_08931558; } goto L_08931524; L_08931524: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08931544; } goto L_08931534; } L_08931534: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0893154C; } goto L_08931544; } L_08931544: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_0893154C; L_0893154C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0893172C; } goto L_08931554; } L_08931554: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); goto L_08931558; L_08931558: aot_gpr_4 = (aot_gpr_4 & 2u); 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_0893172C; } goto L_0893156C; } L_0893156C: ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (49021u << 16u); if (branch_taken) { goto L_0893172C; } goto L_0893157C; } L_0893157C: aot_gpr_4 = (aot_gpr_4 | 28836u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (0u | 0u); aot_gpr_4 = (14979u << 16u); aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 | 4719u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (ctx.gpr[17] + ctx.gpr[21]); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); ctx.gpr[22] = (aot_gpr_29 + static_cast(272)); aot_gpr_4 = (49024u << 16u); ctx.gpr[18] = (0u | 26u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (8192u << 16u); goto L_089315BC; L_089315BC: 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(272), 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(276), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0893167C; } goto L_089315E0; } L_089315E0: aot_gpr_31 = (0x089315E8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.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 == 0x089315E8u) goto L_089315E8; AOT_REGCACHE_SYNC_OUT(); return; L_089315E8: if (ctx.gpr[2] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); goto L_08931680; } goto L_089315F0; L_089315F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(320))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(324))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_12 = std::sqrt(aot_fpr_12); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(320))); goto L_08931620; } goto L_08931618; L_08931618: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(320))); goto L_08931620; L_08931620: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_13 = aot_fpr_13 / aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(324))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_14) ^ 0x80000000u); aot_fpr_12 = aot_fpr_14 / aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_13)); aot_fpr_13 = ctx.fpr[15] - ctx.fpr[28]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_20)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_13)); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089316BC; } goto L_08931660; } L_08931660: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089316BC; } goto L_08931674; } L_08931674: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_20)); if (branch_taken) { goto L_089316BC; } goto L_0893167C; } L_0893167C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); goto L_08931680; L_08931680: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_12 = std::sqrt(aot_fpr_12); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089316BC; } goto L_089316A4; } L_089316A4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); aot_fpr_13 = aot_fpr_13 / aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); aot_fpr_12 = aot_fpr_14 / aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_12)); goto L_089316BC; L_089316BC: { 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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 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 = (ctx.gpr[21] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); { const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, ctx.gpr[7]}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(30))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; if (branch_taken) { goto L_0893171C; } goto L_08931710; } L_08931710: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); goto L_0893171C; L_0893171C: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[21] = (ctx.gpr[21] + static_cast(32)); if (branch_taken) { goto L_089315BC; } goto L_0893172C; } L_0893172C: ctx.gpr[2] = (ctx.gpr[19] | 0u); goto L_08931730; L_08931730: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(416), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.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]); aot_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]; aot_gpr_31 = aot_run_words[12]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(480)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0893176C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 1792u); aot_gpr_4 = (aot_gpr_4 >> 8u); aot_gpr_5 = (aot_gpr_4 < static_cast(6) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089319F0; } goto L_08931798; } L_08931798: ctx.gpr[1] = (0u + static_cast(1)); { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(2)); if (branch_taken) { goto L_08931894; } goto L_089317A4; } L_089317A4: { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(3)); if (branch_taken) { goto L_08931894; } goto L_089317AC; } L_089317AC: { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(4)); if (branch_taken) { goto L_08931894; } goto L_089317B4; } L_089317B4: { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(5)); if (branch_taken) { goto L_08931894; } goto L_089317BC; } L_089317BC: { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; if (branch_taken) { goto L_08931960; } goto L_089317C4; } L_089317C4: aot_gpr_5 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089317D0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 765u, 0x0892FCA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089317D0u) goto L_089317D0; AOT_REGCACHE_SYNC_OUT(); return; L_089317D0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (15692u << 16u); if (branch_taken) { goto L_08931800; } goto L_089317DC; } L_089317DC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931800u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 789u, 0x0890F6ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931800u) goto L_08931800; AOT_REGCACHE_SYNC_OUT(); return; L_08931800: aot_gpr_6 = (16025u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_fpr_20 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0893181Cu); aot_gpr_6 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 571u, 0x088E3E88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893181Cu) goto L_0893181C; AOT_REGCACHE_SYNC_OUT(); return; L_0893181C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_20 = aot_fpr_12 + aot_fpr_20; aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08931834u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 797u, 0x0890F7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931834u) goto L_08931834; AOT_REGCACHE_SYNC_OUT(); return; L_08931834: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0893188C; } goto L_08931848; } L_08931848: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (0u + static_cast(-1793)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | 256u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); aot_gpr_4 = (32768u << 16u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(236), aot_gpr_4); aot_gpr_31 = (0x08931880u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 537u, 0x08A6669Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931880u) goto L_08931880; AOT_REGCACHE_SYNC_OUT(); return; L_08931880: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0893188Cu); aot_gpr_5 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 801u, 0x0890F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893188Cu) goto L_0893188C; AOT_REGCACHE_SYNC_OUT(); return; L_0893188C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089319F0; } goto L_08931894; } L_08931894: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089318A4u); aot_gpr_6 = (0u | 260u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089318A4u) goto L_089318A4; AOT_REGCACHE_SYNC_OUT(); return; L_089318A4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089318C0; } goto L_089318AC; } L_089318AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089318B8u); aot_gpr_5 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 801u, 0x0890F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089318B8u) goto L_089318B8; AOT_REGCACHE_SYNC_OUT(); return; L_089318B8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931958; } goto L_089318C0; } L_089318C0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089318D0u); aot_gpr_6 = (0u | 259u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089318D0u) goto L_089318D0; AOT_REGCACHE_SYNC_OUT(); return; L_089318D0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089318EC; } goto L_089318D8; } L_089318D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089318E4u); aot_gpr_5 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 801u, 0x0890F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089318E4u) goto L_089318E4; AOT_REGCACHE_SYNC_OUT(); return; L_089318E4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931958; } goto L_089318EC; } L_089318EC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089318FCu); aot_gpr_6 = (0u | 257u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089318FCu) goto L_089318FC; AOT_REGCACHE_SYNC_OUT(); return; L_089318FC: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0893191C; } goto L_08931904; } L_08931904: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931914u); aot_gpr_6 = (0u | 258u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931914u) goto L_08931914; AOT_REGCACHE_SYNC_OUT(); return; L_08931914: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08931930; } goto L_0893191C; } L_0893191C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931928u); aot_gpr_5 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 801u, 0x0890F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931928u) goto L_08931928; AOT_REGCACHE_SYNC_OUT(); return; L_08931928: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931958; } goto L_08931930; } L_08931930: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_5 = (0u + static_cast(-1793)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); aot_gpr_31 = (0x08931948u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 813u, 0x0890F994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931948u) goto L_08931948; AOT_REGCACHE_SYNC_OUT(); return; L_08931948: aot_gpr_31 = (0x08931950u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931950u) goto L_08931950; AOT_REGCACHE_SYNC_OUT(); return; L_08931950: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089319F0; } goto L_08931958; } L_08931958: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089319F0; } goto L_08931960; } L_08931960: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931970u); aot_gpr_6 = (0u | 260u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931970u) goto L_08931970; AOT_REGCACHE_SYNC_OUT(); return; L_08931970: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08931990; } goto L_08931978; } L_08931978: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_5 = (0u | 44u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08931998; } goto L_08931988; } L_08931988: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089319CC; } goto L_08931990; } L_08931990: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089319F0; } goto L_08931998; } L_08931998: aot_gpr_31 = (0x089319A0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 808u, 0x0890F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089319A0u) goto L_089319A0; AOT_REGCACHE_SYNC_OUT(); return; L_089319A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); aot_gpr_5 = (0u + static_cast(-257)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(236), aot_gpr_4); aot_gpr_4 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); aot_gpr_31 = (0x089319CCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 403u, 0x089117B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089319CCu) goto L_089319CC; AOT_REGCACHE_SYNC_OUT(); return; L_089319CC: aot_gpr_31 = (0x089319D4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 813u, 0x0890F994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089319D4u) goto L_089319D4; AOT_REGCACHE_SYNC_OUT(); return; L_089319D4: aot_gpr_31 = (0x089319DCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089319DCu) goto L_089319DC; AOT_REGCACHE_SYNC_OUT(); return; L_089319DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_5 = (0u + static_cast(-1793)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); if (branch_taken) { goto L_089319F0; } goto L_089319F0; } L_089319F0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08931A04: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (48896u << 16u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-20368), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-20364), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (49024u << 16u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-20360), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8848), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8852), std::bit_cast(aot_fpr_12)); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8856), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08931A34: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08931A60u); ctx.fpr[24] = 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_0000_entry, 0u, 462u, 0x08807220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A60u) goto L_08931A60; AOT_REGCACHE_SYNC_OUT(); return; L_08931A60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931A6Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A6Cu) goto L_08931A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08931A6C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_31 = (0x08931A7Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A7Cu) goto L_08931A7C; AOT_REGCACHE_SYNC_OUT(); return; L_08931A7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931A88u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A88u) goto L_08931A88; AOT_REGCACHE_SYNC_OUT(); return; L_08931A88: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_31 = (0x08931A98u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A98u) goto L_08931A98; AOT_REGCACHE_SYNC_OUT(); return; L_08931A98: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931AA4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931AA4u) goto L_08931AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08931AA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_31 = (0x08931AB4u); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931AB4u) goto L_08931AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08931AB4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } 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_08931AD0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08931AE8u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); goto L_08931A34; L_08931AE8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08931AF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } ctx.gpr[19] = (ctx.gpr[7] & 255u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_6) >= 0; aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08931B30; } goto L_08931B20; } L_08931B20: aot_gpr_31 = (0x08931B28u); 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_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.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_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B28u) goto L_08931B28; AOT_REGCACHE_SYNC_OUT(); return; L_08931B28: aot_gpr_16 = (ctx.gpr[2] + aot_gpr_16); aot_gpr_16 = (aot_gpr_16 + static_cast(1)); goto L_08931B30; L_08931B30: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931B3Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B3Cu) goto L_08931B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08931B3C: aot_gpr_4 = (0u | 5u); { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; if (branch_taken) { goto L_08931C0C; } goto L_08931B48; } L_08931B48: aot_gpr_4 = (ctx.gpr[19] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_08931B64; } goto L_08931B54; } L_08931B54: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931B60u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B60u) goto L_08931B60; AOT_REGCACHE_SYNC_OUT(); return; L_08931B60: ctx.gpr[19] = (ctx.gpr[2] | 0u); goto L_08931B64; L_08931B64: { const bool branch_taken = ctx.gpr[19] != 0u; if (branch_taken) { goto L_08931B80; } goto L_08931B6C; } L_08931B6C: aot_gpr_6 = (2232u << 16u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931B80u); aot_gpr_6 = (aot_gpr_6 + static_cast(-11512)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 213u, 0x0889D0C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B80u) goto L_08931B80; AOT_REGCACHE_SYNC_OUT(); return; L_08931B80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(108))); aot_gpr_16 = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_31 = (0x08931B94u); ctx.gpr[17] = (ctx.gpr[19] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 639u, 0x08823710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B94u) goto L_08931B94; AOT_REGCACHE_SYNC_OUT(); return; L_08931B94: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_4 = (ctx.gpr[17] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08931BA4u); aot_gpr_5 = (ctx.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 == 0x08931BA4u) goto L_08931BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08931BA4: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08931BC0; } goto L_08931BAC; } L_08931BAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08931BD8; } goto L_08931BB8; } L_08931BB8: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); if (branch_taken) { goto L_08931BF8; } goto L_08931BC0; } L_08931BC0: aot_gpr_31 = (0x08931BC8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 19u, 0x08824204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931BC8u) goto L_08931BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08931BC8: { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<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[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 bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931CEC; } goto L_08931BD8; } L_08931BD8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08931BE8u); aot_gpr_4 = (ctx.gpr[19] | 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 == 0x08931BE8u) goto L_08931BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08931BE8: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); goto L_08931BF8; L_08931BF8: aot_gpr_4 = (aot_gpr_4 + static_cast(64)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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 bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931CEC; } goto L_08931C0C; } L_08931C0C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931C1Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C1Cu) goto L_08931C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08931C1C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931C2Cu); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C2Cu) goto L_08931C2C; AOT_REGCACHE_SYNC_OUT(); return; L_08931C2C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931C3Cu); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C3Cu) goto L_08931C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08931C3C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931C48u); aot_gpr_5 = (0u + static_cast(-3)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C48u) goto L_08931C48; AOT_REGCACHE_SYNC_OUT(); return; L_08931C48: { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08931C60; } goto L_08931C50; } L_08931C50: aot_gpr_31 = (0x08931C58u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C58u) goto L_08931C58; AOT_REGCACHE_SYNC_OUT(); return; L_08931C58: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08931C84; } goto L_08931C60; } L_08931C60: { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_4 = (ctx.gpr[28] + static_cast(-19944)); if (branch_taken) { goto L_08931C74; } goto L_08931C68; } L_08931C68: aot_gpr_4 = (2232u << 16u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(-11512)); if (branch_taken) { goto L_08931C74; } goto L_08931C74; } L_08931C74: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931C84u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 213u, 0x0889D0C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C84u) goto L_08931C84; AOT_REGCACHE_SYNC_OUT(); return; L_08931C84: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931C90u); aot_gpr_5 = (0u + static_cast(-3)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C90u) goto L_08931C90; AOT_REGCACHE_SYNC_OUT(); return; L_08931C90: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CA0u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CA0u) goto L_08931CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08931CA0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CB0u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CB0u) goto L_08931CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08931CB0: { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (49864u << 16u); if (branch_taken) { goto L_08931CCC; } goto L_08931CB8; } L_08931CB8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CC4u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CC4u) goto L_08931CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08931CC4: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_08931CD0; } goto L_08931CCC; } L_08931CCC: aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_08931CD0; L_08931CD0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CE0u); aot_gpr_5 = (0u + static_cast(-4)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CE0u) goto L_08931CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08931CE0: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<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[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); } goto L_08931CEC; L_08931CEC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_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]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08931D08: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const std::uint32_t aot_run_words[5]{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(28), aot_run_words); } aot_gpr_31 = (0x08931D3Cu); aot_gpr_16 = (aot_gpr_4 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D3Cu) goto L_08931D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08931D3C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08931D78; } goto L_08931D44; } L_08931D44: aot_gpr_31 = (0x08931D4Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.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_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D4Cu) goto L_08931D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08931D4C: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931D5Cu); aot_gpr_5 = (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_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D5Cu) goto L_08931D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08931D5C: aot_gpr_5 = (20224u << 16u); ctx.fpr[22] = std::bit_cast(0u); aot_gpr_4 = (0u | 5u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; aot_fpr_20 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08931D90; } goto L_08931D70; } L_08931D70: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931DCC; } goto L_08931D78; } L_08931D78: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931D84u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D84u) goto L_08931D84; AOT_REGCACHE_SYNC_OUT(); return; L_08931D84: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08931FE8; } goto L_08931D90; } L_08931D90: aot_gpr_5 = (ctx.gpr[28] + static_cast(-19936)); aot_gpr_31 = (0x08931D9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D9Cu) goto L_08931D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08931D9C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931DA8u); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 453u, 0x088070DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DA8u) goto L_08931DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08931DA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931DB4u); aot_gpr_5 = (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_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DB4u) goto L_08931DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08931DB4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931DC0u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DC0u) goto L_08931DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08931DC0: aot_gpr_31 = (0x08931DC8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.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_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DC8u) goto L_08931DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08931DC8: ctx.gpr[17] = (ctx.gpr[2] | 0u); goto L_08931DCC; L_08931DCC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931DDCu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DDCu) goto L_08931DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08931DDC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931DE8u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DE8u) goto L_08931DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08931DE8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (17279u << 16u); if (branch_taken) { goto L_08931E04; } goto L_08931DFC; } L_08931DFC: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_08931E18; } goto L_08931E04; } L_08931E04: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_08931E18; } goto L_08931E18; L_08931E18: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_12 - aot_fpr_20; goto L_08931E34; } goto L_08931E28; L_08931E28: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08931E44; } goto L_08931E34; } L_08931E34: ctx.gpr[19] = (32768u << 16u); 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)); ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[19]); goto L_08931E44; L_08931E44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931E54u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931E54u) goto L_08931E54; AOT_REGCACHE_SYNC_OUT(); return; L_08931E54: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931E60u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931E60u) goto L_08931E60; AOT_REGCACHE_SYNC_OUT(); return; L_08931E60: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (17279u << 16u); if (branch_taken) { goto L_08931E7C; } goto L_08931E74; } L_08931E74: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_08931E90; } goto L_08931E7C; } L_08931E7C: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_08931E90; } goto L_08931E90; L_08931E90: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_12 - aot_fpr_20; goto L_08931EAC; } goto L_08931EA0; L_08931EA0: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08931EBC; } goto L_08931EAC; } L_08931EAC: ctx.gpr[20] = (32768u << 16u); 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)); ctx.gpr[20] = (aot_gpr_4 + ctx.gpr[20]); goto L_08931EBC; L_08931EBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931ECCu); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931ECCu) goto L_08931ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08931ECC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931ED8u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931ED8u) goto L_08931ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08931ED8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (17279u << 16u); if (branch_taken) { goto L_08931EF4; } goto L_08931EEC; } L_08931EEC: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_08931F08; } goto L_08931EF4; } L_08931EF4: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_08931F08; } goto L_08931F08; L_08931F08: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_12 - aot_fpr_20; goto L_08931F24; } goto L_08931F18; L_08931F18: 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_08931F34; } goto L_08931F24; } L_08931F24: ctx.gpr[21] = (32768u << 16u); 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)); ctx.gpr[21] = (aot_gpr_4 + ctx.gpr[21]); goto L_08931F34; L_08931F34: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931F44u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931F44u) goto L_08931F44; AOT_REGCACHE_SYNC_OUT(); return; L_08931F44: ctx.gpr[17] = (0u | 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931F54u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931F54u) goto L_08931F54; AOT_REGCACHE_SYNC_OUT(); return; L_08931F54: { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08931FC4; } goto L_08931F5C; } L_08931F5C: aot_gpr_31 = (0x08931F64u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931F64u) goto L_08931F64; AOT_REGCACHE_SYNC_OUT(); return; L_08931F64: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08931F80; } goto L_08931F78; L_08931F78: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08931F98; } goto L_08931F80; } L_08931F80: aot_gpr_4 = (17279u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08931F98; } goto L_08931F98; L_08931F98: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; goto L_08931FB4; } goto L_08931FA8; L_08931FA8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[22])); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08931FC4; } goto L_08931FB4; } L_08931FB4: ctx.gpr[17] = (32768u << 16u); 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)); ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[17]); goto L_08931FC4; L_08931FC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931FD0u); aot_gpr_5 = (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_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931FD0u) goto L_08931FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08931FD0: aot_gpr_4 = (ctx.gpr[21] << 8u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[20] << 16u); ctx.gpr[2] = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[19] << 24u); ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_4); goto L_08931FE8; L_08931FE8: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_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(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932014: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_6 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08932040u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932040u) goto L_08932040; AOT_REGCACHE_SYNC_OUT(); return; L_08932040: aot_gpr_4 = (0u | 5u); { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; if (branch_taken) { goto L_08932068; } goto L_0893204C; } L_0893204C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08932058u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932058u) goto L_08932058; AOT_REGCACHE_SYNC_OUT(); return; L_08932058: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(ctx.fpr[0])); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_08932104; } goto L_08932068; } L_08932068: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932078u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932078u) goto L_08932078; AOT_REGCACHE_SYNC_OUT(); return; L_08932078: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08932084u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932084u) goto L_08932084; AOT_REGCACHE_SYNC_OUT(); return; L_08932084: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089320A0u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320A0u) goto L_089320A0; AOT_REGCACHE_SYNC_OUT(); return; L_089320A0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320ACu); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320ACu) goto L_089320AC; AOT_REGCACHE_SYNC_OUT(); return; L_089320AC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089320C4; } goto L_089320B4; } L_089320B4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320C0u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320C0u) goto L_089320C0; AOT_REGCACHE_SYNC_OUT(); return; L_089320C0: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(ctx.fpr[0])); goto L_089320C4; L_089320C4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089320D4u); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320D4u) goto L_089320D4; AOT_REGCACHE_SYNC_OUT(); return; L_089320D4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320E0u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320E0u) goto L_089320E0; AOT_REGCACHE_SYNC_OUT(); return; L_089320E0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089320F8; } goto L_089320E8; } L_089320E8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320F4u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320F4u) goto L_089320F4; AOT_REGCACHE_SYNC_OUT(); return; L_089320F4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), std::bit_cast(ctx.fpr[0])); goto L_089320F8; L_089320F8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08932104u); aot_gpr_5 = (0u + static_cast(-4)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932104u) goto L_08932104; AOT_REGCACHE_SYNC_OUT(); return; L_08932104: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0893211C: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[18] = (0u | 1u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08932154u); ctx.gpr[7] = (0u | 1u); goto L_08931AF4; L_08932154: ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x0893216Cu); ctx.gpr[7] = (0u | 1u); goto L_08931AF4; L_0893216C: { 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<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, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } 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_31 = (0x08932198u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932198u) goto L_08932198; AOT_REGCACHE_SYNC_OUT(); return; L_08932198: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089321B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[17]); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); ctx.gpr[17] = (0u | 1u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_31); aot_gpr_31 = (0x089321E4u); ctx.gpr[7] = (0u | 1u); goto L_08931AF4; L_089321E4: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089321F8u); ctx.gpr[7] = (0u | 1u); goto L_08931AF4; L_089321F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.fpr[16] = aot_fpr_12 - aot_fpr_14; ctx.fpr[17] = aot_fpr_13 - ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(ctx.fpr[16])); aot_gpr_5 = (std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[16])); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_12 = aot_fpr_14 + ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(ctx.fpr[17])); aot_fpr_12 = std::sqrt(aot_fpr_12); aot_gpr_31 = (0x08932270u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932270u) goto L_08932270; AOT_REGCACHE_SYNC_OUT(); return; L_08932270: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(88), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932288: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089322B8u); ctx.gpr[7] = (0u | 1u); goto L_08931AF4; L_089322B8: ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089322D0u); ctx.gpr[7] = (0u | 1u); goto L_08931AF4; L_089322D0: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); 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 = (0x089322ECu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08931AD0; L_089322EC: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932308: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_0893232C; } goto L_0893231C; L_0893231C: aot_gpr_31 = (0x08932324u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932324u) goto L_08932324; AOT_REGCACHE_SYNC_OUT(); return; L_08932324: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_0893232C; L_0893232C: aot_gpr_31 = (0x08932334u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-19928)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932334u) goto L_08932334; AOT_REGCACHE_SYNC_OUT(); return; L_08932334: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (2195u << 16u); if (branch_taken) { goto L_08932350; } goto L_08932340; } L_08932340: aot_gpr_31 = (0x08932348u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932348u) goto L_08932348; AOT_REGCACHE_SYNC_OUT(); return; L_08932348: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_5 = (2195u << 16u); goto L_08932350; L_08932350: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08932360u); aot_gpr_5 = (aot_gpr_5 + static_cast(8476)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932360u) goto L_08932360; AOT_REGCACHE_SYNC_OUT(); return; L_08932360: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_0893237C; } goto L_0893236C; L_0893236C: aot_gpr_31 = (0x08932374u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932374u) goto L_08932374; AOT_REGCACHE_SYNC_OUT(); return; L_08932374: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_0893237C; L_0893237C: aot_gpr_31 = (0x08932384u); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932384u) goto L_08932384; AOT_REGCACHE_SYNC_OUT(); return; L_08932384: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_089323A0; } goto L_08932390; L_08932390: aot_gpr_31 = (0x08932398u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932398u) goto L_08932398; AOT_REGCACHE_SYNC_OUT(); return; L_08932398: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_089323A0; L_089323A0: aot_gpr_31 = (0x089323A8u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-19916)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089323A8u) goto L_089323A8; AOT_REGCACHE_SYNC_OUT(); return; L_089323A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (2195u << 16u); if (branch_taken) { goto L_089323C4; } goto L_089323B4; } L_089323B4: aot_gpr_31 = (0x089323BCu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089323BCu) goto L_089323BC; AOT_REGCACHE_SYNC_OUT(); return; L_089323BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_5 = (2195u << 16u); goto L_089323C4; L_089323C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089323D4u); aot_gpr_5 = (aot_gpr_5 + static_cast(8632)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089323D4u) goto L_089323D4; AOT_REGCACHE_SYNC_OUT(); return; L_089323D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_089323F0; } goto L_089323E0; L_089323E0: aot_gpr_31 = (0x089323E8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089323E8u) goto L_089323E8; AOT_REGCACHE_SYNC_OUT(); return; L_089323E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_089323F0; L_089323F0: aot_gpr_31 = (0x089323F8u); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089323F8u) goto L_089323F8; AOT_REGCACHE_SYNC_OUT(); return; L_089323F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932414; } goto L_08932404; L_08932404: aot_gpr_31 = (0x0893240Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893240Cu) goto L_0893240C; AOT_REGCACHE_SYNC_OUT(); return; L_0893240C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932414; L_08932414: aot_gpr_31 = (0x0893241Cu); aot_gpr_5 = (ctx.gpr[28] + static_cast(-19904)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893241Cu) goto L_0893241C; AOT_REGCACHE_SYNC_OUT(); return; L_0893241C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (2195u << 16u); if (branch_taken) { goto L_08932438; } goto L_08932428; } L_08932428: aot_gpr_31 = (0x08932430u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932430u) goto L_08932430; AOT_REGCACHE_SYNC_OUT(); return; L_08932430: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_5 = (2195u << 16u); goto L_08932438; L_08932438: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08932448u); aot_gpr_5 = (aot_gpr_5 + static_cast(8840)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932448u) goto L_08932448; AOT_REGCACHE_SYNC_OUT(); return; L_08932448: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932464; } goto L_08932454; L_08932454: aot_gpr_31 = (0x0893245Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893245Cu) goto L_0893245C; AOT_REGCACHE_SYNC_OUT(); return; L_0893245C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932464; L_08932464: aot_gpr_31 = (0x0893246Cu); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893246Cu) goto L_0893246C; AOT_REGCACHE_SYNC_OUT(); return; L_0893246C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932478: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x0893249Cu); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893249Cu) goto L_0893249C; AOT_REGCACHE_SYNC_OUT(); return; L_0893249C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089324B0u); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089324B0u) goto L_089324B0; AOT_REGCACHE_SYNC_OUT(); return; L_089324B0: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8884))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[18])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); aot_gpr_6 = (aot_gpr_4 << 2u); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(244), aot_gpr_5); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089324F4u); aot_gpr_6 = (0u + static_cast(-1)); 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 == 0x089324F4u) goto L_089324F4; AOT_REGCACHE_SYNC_OUT(); return; L_089324F4: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932510: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08932530u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932530u) goto L_08932530; AOT_REGCACHE_SYNC_OUT(); return; L_08932530: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(244))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x0893255Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893255Cu) goto L_0893255C; AOT_REGCACHE_SYNC_OUT(); return; L_0893255C: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932574: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_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(252))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08932598u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932598u) goto L_08932598; AOT_REGCACHE_SYNC_OUT(); return; L_08932598: ctx.gpr[2] = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089325A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_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(252))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); 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; if (branch_taken) { goto L_08932624; } goto L_089325D0; } L_089325D0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); ctx.gpr[7] = (ctx.gpr[7] << 2u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); if (branch_taken) { goto L_089325FC; } goto L_089325F8; } L_089325F8: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); goto L_089325FC; L_089325FC: aot_fpr_12 = std::bit_cast(ctx.gpr[7]); { const bool branch_taken = static_cast(ctx.gpr[7]) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08932614; } goto L_08932608; } L_08932608: aot_gpr_5 = (20352u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_08932614; L_08932614: aot_gpr_31 = (0x0893261Cu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893261Cu) goto L_0893261C; AOT_REGCACHE_SYNC_OUT(); return; L_0893261C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0893262C; } goto L_08932624; } L_08932624: aot_gpr_31 = (0x0893262Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 424u, 0x08806DA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893262Cu) goto L_0893262C; AOT_REGCACHE_SYNC_OUT(); return; L_0893262C: ctx.gpr[2] = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0893263C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x08932668u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932668u) goto L_08932668; AOT_REGCACHE_SYNC_OUT(); return; L_08932668: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (20224u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_12 - aot_fpr_20; goto L_08932690; } goto L_08932684; L_08932684: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089326A0; } goto L_08932690; } L_08932690: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (32768u << 16u); ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_4); goto L_089326A0; L_089326A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089326ACu); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089326ACu) goto L_089326AC; AOT_REGCACHE_SYNC_OUT(); return; L_089326AC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_12 - aot_fpr_20; goto L_089326CC; } goto L_089326C0; L_089326C0: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089326DC; } goto L_089326CC; } L_089326CC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (32768u << 16u); ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); goto L_089326DC; L_089326DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089326E8u); aot_gpr_5 = (0u | 3u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089326E8u) goto L_089326E8; AOT_REGCACHE_SYNC_OUT(); return; L_089326E8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.gpr[18] = (ctx.gpr[18] & ctx.gpr[17]); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08932704; } goto L_089326FC; } L_089326FC: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] << (aot_gpr_4 & 31u)); if (branch_taken) { goto L_08932714; } goto L_08932704; } L_08932704: { const bool branch_taken = static_cast(aot_gpr_4) >= 0; if (branch_taken) { goto L_08932714; } goto L_0893270C; } L_0893270C: aot_gpr_4 = (0u - aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] >> (aot_gpr_4 & 31u)); goto L_08932714; L_08932714: aot_fpr_12 = std::bit_cast(ctx.gpr[18]); { const bool branch_taken = static_cast(ctx.gpr[18]) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_0893272C; } goto L_08932720; } L_08932720: aot_gpr_4 = (20352u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_0893272C; L_0893272C: aot_gpr_31 = (0x08932734u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932734u) goto L_08932734; AOT_REGCACHE_SYNC_OUT(); return; L_08932734: ctx.gpr[2] = (ctx.gpr[19] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = 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_08932758: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } aot_gpr_5 = (0u | 7u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8885))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_5)); aot_gpr_16 = (aot_gpr_29 + static_cast(18)); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(21), aot_gpr_4); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_gpr_4 = (2237u << 16u); ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0893279Cu); aot_gpr_6 = (0u + static_cast(-1)); 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 == 0x0893279Cu) goto L_0893279C; AOT_REGCACHE_SYNC_OUT(); return; L_0893279C: 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_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(0u)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089327B8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 753u, 0x08A36ECCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089327B8u) goto L_089327B8; AOT_REGCACHE_SYNC_OUT(); return; L_089327B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089327CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089327E4u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089327E4u) goto L_089327E4; AOT_REGCACHE_SYNC_OUT(); return; L_089327E4: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_089327F4; } goto L_089327EC; } L_089327EC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08932814; } goto L_089327F4; } L_089327F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932800u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932800u) goto L_08932800; AOT_REGCACHE_SYNC_OUT(); return; L_08932800: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08932810u); goto L_08932758; L_08932810: ctx.gpr[2] = (0u | 0u); goto L_08932814; L_08932814: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932824: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); 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(252))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, aot_gpr_4}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08932880; } goto L_08932864; } L_08932864: if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); goto L_0893286C; } goto L_0893286C; L_0893286C: aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08932864; } goto L_0893287C; } L_0893287C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); goto L_08932880; L_08932880: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08932890; } goto L_08932888; } L_08932888: aot_gpr_31 = (0x08932890u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932890u) goto L_08932890; AOT_REGCACHE_SYNC_OUT(); return; L_08932890: ctx.gpr[2] = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089328A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089328BCu); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328BCu) goto L_089328BC; AOT_REGCACHE_SYNC_OUT(); return; L_089328BC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089328E0; } goto L_089328C4; } L_089328C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089328D0u); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328D0u) goto L_089328D0; AOT_REGCACHE_SYNC_OUT(); return; L_089328D0: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_089328E8; } goto L_089328D8; } L_089328D8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08932928; } goto L_089328E0; } L_089328E0: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08932928; } goto L_089328E8; } L_089328E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089328F4u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328F4u) goto L_089328F4; AOT_REGCACHE_SYNC_OUT(); return; L_089328F4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932908u); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932908u) goto L_08932908; AOT_REGCACHE_SYNC_OUT(); return; L_08932908: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_6 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(256), aot_gpr_4); ctx.gpr[2] = (0u | 0u); goto L_08932928; L_08932928: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0893293C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x0893295Cu); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893295Cu) goto L_0893295C; AOT_REGCACHE_SYNC_OUT(); return; L_0893295C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0893296C; } goto L_08932964; } L_08932964: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_089329A8; } goto L_0893296C; } L_0893296C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932978u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932978u) goto L_08932978; AOT_REGCACHE_SYNC_OUT(); return; L_08932978: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(256))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x089329A4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329A4u) goto L_089329A4; AOT_REGCACHE_SYNC_OUT(); return; L_089329A4: ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_089329A8; L_089329A8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089329BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x089329DCu); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329DCu) goto L_089329DC; AOT_REGCACHE_SYNC_OUT(); return; L_089329DC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08932A00; } goto L_089329E4; } L_089329E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089329F0u); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329F0u) goto L_089329F0; AOT_REGCACHE_SYNC_OUT(); return; L_089329F0: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[17]; if (branch_taken) { goto L_08932A08; } goto L_089329F8; } L_089329F8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08932A44; } goto L_08932A00; } L_08932A00: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08932A44; } goto L_08932A08; } L_08932A08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932A14u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932A14u) goto L_08932A14; AOT_REGCACHE_SYNC_OUT(); return; L_08932A14: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932A28u); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932A28u) goto L_08932A28; AOT_REGCACHE_SYNC_OUT(); return; L_08932A28: aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(264), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); goto L_08932A44; L_08932A44: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932A58: jump_target = aot_gpr_31; ctx.gpr[2] = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932A60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08932A70u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 696u, 0x08AD3BF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932A70u) goto L_08932A70; AOT_REGCACHE_SYNC_OUT(); return; L_08932A70: ctx.gpr[2] = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932A80: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_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(32), aot_run_words); } ctx.gpr[20] = (0u | 1u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08932AC0u); ctx.gpr[7] = (0u | 1u); goto L_08931AF4; L_08932AC0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932ACCu); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932ACCu) goto L_08932ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08932ACC: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932ADCu); aot_gpr_5 = (0u | 3u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932ADCu) goto L_08932ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08932ADC: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); goto L_08932AF0; L_08932AF0: aot_gpr_31 = (0x08932AF8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932AF8u) goto L_08932AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08932AF8: aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[2]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08932B58; } goto L_08932B04; } L_08932B04: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08932B10u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B10u) goto L_08932B10; AOT_REGCACHE_SYNC_OUT(); return; L_08932B10: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08932B50; } goto L_08932B1C; } L_08932B1C: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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_5 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08932B34u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 38u, 0x08824354u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B34u) goto L_08932B34; AOT_REGCACHE_SYNC_OUT(); return; L_08932B34: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08932B50; } goto L_08932B3C; } L_08932B3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932B48u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B48u) goto L_08932B48; AOT_REGCACHE_SYNC_OUT(); return; L_08932B48: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08932B68; } goto L_08932B50; } L_08932B50: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); if (branch_taken) { goto L_08932AF0; } goto L_08932B58; } L_08932B58: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932B64u); aot_gpr_5 = (0u | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B64u) goto L_08932B64; AOT_REGCACHE_SYNC_OUT(); return; L_08932B64: ctx.gpr[2] = (ctx.gpr[20] | 0u); goto L_08932B68; L_08932B68: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_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]; aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932B90: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19664))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (0u | 1u); if (branch_taken) { goto L_08932BB8; } goto L_08932BA8; } L_08932BA8: aot_gpr_31 = (0x08932BB0u); aot_gpr_5 = (0u | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932BB0u) goto L_08932BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08932BB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08932BC0; } goto L_08932BB8; } L_08932BB8: aot_gpr_31 = (0x08932BC0u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932BC0u) goto L_08932BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08932BC0: ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932BD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7872))); ctx.gpr[17] = (0u | 1u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08932C00; } goto L_08932BF4; } L_08932BF4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7872), ctx.gpr[17]); aot_gpr_31 = (0x08932C00u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C00u) goto L_08932C00; AOT_REGCACHE_SYNC_OUT(); return; L_08932C00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7868))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08932C14u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C14u) goto L_08932C14; AOT_REGCACHE_SYNC_OUT(); return; L_08932C14: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932C2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932C50; } goto L_08932C40; L_08932C40: aot_gpr_31 = (0x08932C48u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C48u) goto L_08932C48; AOT_REGCACHE_SYNC_OUT(); return; L_08932C48: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932C50; L_08932C50: aot_gpr_31 = (0x08932C58u); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C58u) goto L_08932C58; AOT_REGCACHE_SYNC_OUT(); return; L_08932C58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932C74; } goto L_08932C64; L_08932C64: aot_gpr_31 = (0x08932C6Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 755u, 0x08B67230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C6Cu) goto L_08932C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08932C6C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08932C74; L_08932C74: aot_gpr_6 = (2232u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-11400)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08932C88u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 328u, 0x0889D80Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C88u) goto L_08932C88; AOT_REGCACHE_SYNC_OUT(); return; L_08932C88: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932C94: jump_target = aot_gpr_31; aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8886), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932C9C: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932CA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[17] = (2236u << 16u); ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08932CD8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932CD8u) goto L_08932CD8; AOT_REGCACHE_SYNC_OUT(); return; L_08932CD8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast(4), aot_run_words); aot_fpr_13 = std::bit_cast(aot_run_words[0]); aot_fpr_14 = std::bit_cast(aot_run_words[1]); ctx.fpr[15] = std::bit_cast(aot_run_words[2]); aot_gpr_4 = aot_run_words[3]; aot_gpr_5 = aot_run_words[4]; } aot_gpr_31 = (0x08932CF8u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 79u, 0x0886481Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932CF8u) goto L_08932CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08932CF8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932D14: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[7] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08932D38u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932D38u) goto L_08932D38; AOT_REGCACHE_SYNC_OUT(); return; L_08932D38: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08932D54; } goto L_08932D4C; } L_08932D4C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08932D9C; } goto L_08932D54; } L_08932D54: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08932D80; } goto L_08932D74; } L_08932D74: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08932D9C; } goto L_08932D80; } L_08932D80: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08932D9C; } goto L_08932D98; } L_08932D98: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08932D9C; L_08932D9C: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932DB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08932DCCu); ctx.gpr[7] = (ctx.gpr[7] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932DCCu) goto L_08932DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08932DCC: ctx.gpr[2] = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932DDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08932E04u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932E04u) goto L_08932E04; AOT_REGCACHE_SYNC_OUT(); return; L_08932E04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); goto L_08932E1C; } goto L_08932E10; L_08932E10: aot_gpr_31 = (0x08932E18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932E18u) goto L_08932E18; AOT_REGCACHE_SYNC_OUT(); return; L_08932E18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); goto L_08932E1C; L_08932E1C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x08932E28u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 70u, 0x08954310u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932E28u) goto L_08932E28; AOT_REGCACHE_SYNC_OUT(); return; L_08932E28: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932E40: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08932E60; } goto L_08932E58; } L_08932E58: aot_gpr_31 = (0x08932E60u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932E60u) goto L_08932E60; AOT_REGCACHE_SYNC_OUT(); return; L_08932E60: aot_gpr_31 = (0x08932E68u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 113u, 0x08954704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932E68u) goto L_08932E68; AOT_REGCACHE_SYNC_OUT(); return; L_08932E68: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (ctx.gpr[2] & 255u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08932E8C; } goto L_08932E84; } L_08932E84: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08932ED4; } goto L_08932E8C; } L_08932E8C: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08932EB8; } goto L_08932EAC; } L_08932EAC: aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08932ED4; } goto L_08932EB8; } L_08932EB8: aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08932ED4; } goto L_08932ED0; } L_08932ED0: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08932ED4; L_08932ED4: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932EE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08932F08; } goto L_08932F00; } L_08932F00: aot_gpr_31 = (0x08932F08u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932F08u) goto L_08932F08; AOT_REGCACHE_SYNC_OUT(); return; L_08932F08: aot_gpr_31 = (0x08932F10u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 121u, 0x08954778u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932F10u) goto L_08932F10; AOT_REGCACHE_SYNC_OUT(); return; L_08932F10: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_5 = (ctx.gpr[2] & 255u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08932F34; } goto L_08932F2C; } L_08932F2C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08932F7C; } goto L_08932F34; } L_08932F34: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08932F60; } goto L_08932F54; } L_08932F54: aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08932F7C; } goto L_08932F60; } L_08932F60: aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08932F7C; } goto L_08932F78; } L_08932F78: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08932F7C; L_08932F7C: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932F90: jump_target = aot_gpr_31; ctx.gpr[2] = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932F98: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08932FC0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932FC0u) goto L_08932FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08932FC0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8040), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8044), aot_gpr_5); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08932FE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08933010u); ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933010u) goto L_08933010; AOT_REGCACHE_SYNC_OUT(); return; L_08933010: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7652))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08933024; } goto L_08933020; } L_08933020: aot_gpr_4 = (0u | 1u); goto L_08933024; L_08933024: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08933050; } goto L_08933048; } L_08933048: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08933098; } goto L_08933050; } L_08933050: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_0893307C; } goto L_08933070; } L_08933070: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08933098; } goto L_0893307C; } L_0893307C: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08933098; } goto L_08933094; } L_08933094: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08933098; L_08933098: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089330B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_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(240), aot_run_words); } ctx.gpr[30] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[30] + static_cast(16)); ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_6 = (0u | 13u); aot_gpr_31 = (0x0893310Cu); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893310Cu) goto L_0893310C; AOT_REGCACHE_SYNC_OUT(); return; L_0893310C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { 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(64), aot_run_words); } ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(12), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { 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[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, 1u>(); ctx.gpr[18] = (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[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 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_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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 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); } { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(24), aot_run_words); ctx.gpr[19] = aot_run_words[0]; ctx.gpr[20] = aot_run_words[1]; ctx.gpr[21] = aot_run_words[2]; ctx.gpr[22] = aot_run_words[3]; aot_fpr_20 = std::bit_cast(aot_run_words[4]); ctx.fpr[22] = std::bit_cast(aot_run_words[5]); aot_gpr_5 = aot_run_words[6]; } ctx.gpr[23] = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 & 2u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_6 = (17154u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (16704u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(16))); ctx.gpr[7] = (ctx.gpr[30] + ctx.gpr[7]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_gpr_6 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (aot_gpr_29 + static_cast(96)); ctx.gpr[30] = (aot_gpr_29 + static_cast(160)); ctx.gpr[8] = (16384u << 16u); ctx.fpr[26] = std::bit_cast(ctx.gpr[8]); { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[28] = std::bit_cast(0u); if (branch_taken) { goto L_08933200; } goto L_089331F0; } L_089331F0: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); { const bool branch_taken = 0u == 0u; ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_08933218; } goto L_08933200; } L_08933200: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; ctx.gpr[8] = (32768u << 16u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[9] = (std::bit_cast(aot_fpr_14)); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); goto L_08933218; L_08933218: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_0893323C; } goto L_0893322C; L_0893322C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); { const bool branch_taken = 0u == 0u; ctx.gpr[9] = (std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_08933250; } goto L_0893323C; } L_0893323C: aot_fpr_14 = aot_fpr_14 - aot_fpr_13; ctx.gpr[9] = (32768u << 16u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[10] = (std::bit_cast(aot_fpr_14)); ctx.gpr[9] = (ctx.gpr[10] + ctx.gpr[9]); goto L_08933250; L_08933250: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); if (branch_taken) { goto L_08933274; } goto L_08933264; } L_08933264: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_0893328C; } goto L_08933274; } L_08933274: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; aot_gpr_16 = (32768u << 16u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); aot_gpr_16 = (ctx.gpr[8] + aot_gpr_16); goto L_0893328C; L_0893328C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[9]); if (branch_taken) { goto L_089332A8; } goto L_0893329C; } L_0893329C: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[22])); { const bool branch_taken = 0u == 0u; ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_089332BC; } goto L_089332A8; } L_089332A8: aot_fpr_13 = ctx.fpr[22] - aot_fpr_13; ctx.gpr[8] = (32768u << 16u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[9] = (std::bit_cast(aot_fpr_13)); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); goto L_089332BC; L_089332BC: aot_gpr_16 = (ctx.gpr[7] + aot_gpr_16); aot_gpr_16 = (aot_gpr_16 + ctx.gpr[8]); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[7]); { 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[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 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<0u, 4u>(vfpu_value); } { 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<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 = aot_gpr_6 + 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[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<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[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); } { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_089333E8; } goto L_089332F8; } L_089332F8: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(112)); ctx.gpr[7] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08933330u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933330u) goto L_08933330; AOT_REGCACHE_SYNC_OUT(); return; L_08933330: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089333E8; } goto L_08933338; } L_08933338: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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(116))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); 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_08933384; } goto L_0893337C; } L_0893337C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); goto L_08933384; L_08933384: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[2] = (16256u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (49152u << 16u); ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.gpr[8] = (ctx.gpr[22] << 16u); { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[2] = (17056u << 16u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[9] = (ctx.gpr[19] & 255u); ctx.fpr[18] = std::bit_cast(ctx.gpr[2]); ctx.gpr[10] = (ctx.gpr[20] & 255u); ctx.gpr[11] = (ctx.gpr[21] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 2u); ctx.gpr[7] = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x089333E8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089333E8u) goto L_089333E8; AOT_REGCACHE_SYNC_OUT(); return; L_089333E8: { 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); } { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); aot_fpr_13 = std::bit_cast(ctx.gpr[19]); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = std::bit_cast(ctx.gpr[20]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[15] = std::bit_cast(ctx.gpr[21]); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08933438u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 403u, 0x08B25C64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933438u) goto L_08933438; AOT_REGCACHE_SYNC_OUT(); return; L_08933438: { const bool branch_taken = ctx.gpr[23] != 0u; if (branch_taken) { goto L_08933494; } goto L_08933440; } L_08933440: aot_gpr_4 = (16448u << 16u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_4 = (16968u << 16u); { const float fs = aot_fpr_20; 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.gpr[9] = (16320u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); ctx.fpr[15] = std::bit_cast(ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_gpr_5 = (ctx.gpr[19] & 255u); aot_gpr_6 = (ctx.gpr[20] & 255u); ctx.gpr[7] = (ctx.gpr[21] & 255u); ctx.gpr[8] = (ctx.gpr[22] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08933494u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933494u) goto L_08933494; AOT_REGCACHE_SYNC_OUT(); return; L_08933494: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[15]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.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]); aot_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(304)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089334DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08933504u); ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933504u) goto L_08933504; AOT_REGCACHE_SYNC_OUT(); return; L_08933504: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); goto L_08933528; } goto L_0893351C; L_0893351C: aot_gpr_31 = (0x08933524u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933524u) goto L_08933524; AOT_REGCACHE_SYNC_OUT(); return; L_08933524: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); goto L_08933528; L_08933528: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08933534u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 77u, 0x0895439Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933534u) goto L_08933534; AOT_REGCACHE_SYNC_OUT(); return; L_08933534: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0893354C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08933580u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933580u) goto L_08933580; AOT_REGCACHE_SYNC_OUT(); return; L_08933580: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (branch_taken) { goto L_08933594; } goto L_0893358C; } L_0893358C: aot_gpr_31 = (0x08933594u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933594u) goto L_08933594; AOT_REGCACHE_SYNC_OUT(); return; L_08933594: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_gpr_31 = (0x089335A0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 104u, 0x08954624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089335A0u) goto L_089335A0; AOT_REGCACHE_SYNC_OUT(); return; L_089335A0: ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; if (branch_taken) { goto L_089335B4; } goto L_089335AC; } L_089335AC: aot_gpr_4 = (256u << 16u); ctx.gpr[17] = (ctx.gpr[17] | aot_gpr_4); goto L_089335B4; L_089335B4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[17]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089335C8u); aot_gpr_6 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089335C8u) goto L_089335C8; AOT_REGCACHE_SYNC_OUT(); return; L_089335C8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089335E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); ctx.gpr[7] = (2236u << 16u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08933614u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933614u) goto L_08933614; AOT_REGCACHE_SYNC_OUT(); return; L_08933614: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08933624u); aot_gpr_6 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933624u) goto L_08933624; AOT_REGCACHE_SYNC_OUT(); return; L_08933624: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0893363C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08933670u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933670u) goto L_08933670; AOT_REGCACHE_SYNC_OUT(); return; L_08933670: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); if (branch_taken) { goto L_08933684; } goto L_0893367C; } L_0893367C: aot_gpr_31 = (0x08933684u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933684u) goto L_08933684; AOT_REGCACHE_SYNC_OUT(); return; L_08933684: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08933698u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 95u, 0x089544E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933698u) goto L_08933698; AOT_REGCACHE_SYNC_OUT(); return; L_08933698: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_5); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089336B0u); aot_gpr_6 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089336B0u) goto L_089336B0; AOT_REGCACHE_SYNC_OUT(); return; L_089336B0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_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]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089336D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[20]); ctx.gpr[19] = (2236u << 16u); ctx.gpr[20] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[19] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x0893370Cu); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893370Cu) goto L_0893370C; AOT_REGCACHE_SYNC_OUT(); return; L_0893370C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); if (branch_taken) { goto L_08933720; } goto L_08933718; } L_08933718: aot_gpr_31 = (0x08933720u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933720u) goto L_08933720; AOT_REGCACHE_SYNC_OUT(); return; L_08933720: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08933734u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 95u, 0x089544E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933734u) goto L_08933734; AOT_REGCACHE_SYNC_OUT(); return; L_08933734: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0893375Cu); aot_gpr_6 = (0u | 3u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893375Cu) goto L_0893375C; AOT_REGCACHE_SYNC_OUT(); return; L_0893375C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_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(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08933780: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089337A0u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089337A0u) goto L_089337A0; AOT_REGCACHE_SYNC_OUT(); return; L_089337A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (49024u << 16u); if (branch_taken) { goto L_089337C4; } goto L_089337B8; } L_089337B8: aot_fpr_12 = std::bit_cast(0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24260), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089337CC; } goto L_089337C4; } L_089337C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24260), std::bit_cast(aot_fpr_12)); goto L_089337CC; L_089337CC: ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089337E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08933800u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933800u) goto L_08933800; AOT_REGCACHE_SYNC_OUT(); return; L_08933800: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); ctx.gpr[2] = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(5481), static_cast(aot_gpr_4)); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08933820: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_6 = (0u | 8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); aot_gpr_31 = (0x08933850u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933850u) goto L_08933850; AOT_REGCACHE_SYNC_OUT(); return; L_08933850: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[16]), std::bit_cast(ctx.fpr[15]), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast(12), aot_run_words); ctx.gpr[7] = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; aot_gpr_5 = aot_run_words[2]; aot_gpr_4 = aot_run_words[3]; } ctx.gpr[10] = (20224u << 16u); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); ctx.gpr[8] = (aot_gpr_29 + static_cast(16)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_12)) ? 0x00800000u : 0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(28))); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[9] = (aot_gpr_16 + ctx.gpr[9]); if (branch_taken) { goto L_089338A8; } goto L_08933898; } L_08933898: ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); ctx.gpr[10] = (std::bit_cast(ctx.fpr[16])); { const bool branch_taken = 0u == 0u; ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); if (branch_taken) { goto L_089338C0; } goto L_089338A8; } L_089338A8: ctx.fpr[16] = ctx.fpr[16] - aot_fpr_12; ctx.gpr[10] = (32768u << 16u); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); ctx.gpr[11] = (std::bit_cast(ctx.fpr[16])); ctx.gpr[10] = (ctx.gpr[11] + ctx.gpr[10]); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); goto L_089338C0; L_089338C0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] < aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[15] = ctx.fpr[15] - aot_fpr_12; goto L_089338E0; } goto L_089338D0; L_089338D0: ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); ctx.gpr[10] = (std::bit_cast(ctx.fpr[15])); { const bool branch_taken = 0u == 0u; ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); if (branch_taken) { goto L_089338F4; } goto L_089338E0; } L_089338E0: ctx.gpr[10] = (32768u << 16u); ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); ctx.gpr[11] = (std::bit_cast(ctx.fpr[15])); ctx.gpr[10] = (ctx.gpr[11] + ctx.gpr[10]); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); goto L_089338F4; L_089338F4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_14 - aot_fpr_12; goto L_08933914; } goto L_08933904; L_08933904: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[10] = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); if (branch_taken) { goto L_08933928; } goto L_08933914; } L_08933914: ctx.gpr[10] = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[11] = (std::bit_cast(aot_fpr_12)); ctx.gpr[10] = (ctx.gpr[11] + ctx.gpr[10]); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); goto L_08933928; L_08933928: ctx.gpr[10] = (16384u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5008))); ctx.gpr[10] = (49152u << 16u); { const float fs = aot_fpr_13; 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.fpr[15] = std::bit_cast(ctx.gpr[10]); aot_gpr_4 = (aot_gpr_4 << 16u); ctx.gpr[10] = (aot_gpr_6 & 255u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_gpr_6 = (ctx.gpr[2] | 0u); aot_fpr_14 = std::bit_cast(0u); ctx.gpr[2] = (16704u << 16u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.gpr[3] = (static_cast(static_cast(aot_gpr_4) >> 16u)); ctx.fpr[16] = std::bit_cast(ctx.gpr[2]); aot_gpr_4 = (ctx.gpr[9] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.gpr[2] = (16256u << 16u); ctx.gpr[9] = (ctx.gpr[7] & 255u); ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); ctx.gpr[11] = (aot_gpr_5 & 255u); ctx.gpr[7] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); ctx.gpr[2] = (17224u << 16u); aot_gpr_5 = (0u | 1u); ctx.fpr[18] = std::bit_cast(ctx.gpr[2]); ctx.gpr[8] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089339A0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089339A0u) goto L_089339A0; AOT_REGCACHE_SYNC_OUT(); return; L_089339A0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089339BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x089339F4u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089339F4u) goto L_089339F4; AOT_REGCACHE_SYNC_OUT(); return; L_089339F4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { 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(48), aot_run_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(12), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_5 = (aot_gpr_29 + static_cast(64)); { 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); } { 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_6 = (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_6 + 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_6 + 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_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_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); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 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); } ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); ctx.gpr[7] = (17154u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); ctx.gpr[7] = (16704u << 16u); ctx.fpr[22] = std::bit_cast(ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); ctx.gpr[7] = (ctx.gpr[18] + ctx.gpr[7]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); ctx.gpr[8] = (20224u << 16u); aot_fpr_13 = std::bit_cast(ctx.gpr[8]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[18] = (aot_gpr_29 + static_cast(144)); if (branch_taken) { goto L_08933AB4; } goto L_08933AA4; } L_08933AA4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); { const bool branch_taken = 0u == 0u; ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_08933ACC; } goto L_08933AB4; } L_08933AB4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; ctx.gpr[8] = (32768u << 16u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[9] = (std::bit_cast(aot_fpr_14)); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); goto L_08933ACC; L_08933ACC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_08933AF0; } goto L_08933AE0; L_08933AE0: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); { const bool branch_taken = 0u == 0u; ctx.gpr[9] = (std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_08933B04; } goto L_08933AF0; } L_08933AF0: aot_fpr_14 = aot_fpr_14 - aot_fpr_13; ctx.gpr[9] = (32768u << 16u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[10] = (std::bit_cast(aot_fpr_14)); ctx.gpr[9] = (ctx.gpr[10] + ctx.gpr[9]); goto L_08933B04; L_08933B04: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); if (branch_taken) { goto L_08933B28; } goto L_08933B18; } L_08933B18: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_08933B40; } goto L_08933B28; } L_08933B28: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; aot_gpr_16 = (32768u << 16u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); aot_gpr_16 = (ctx.gpr[8] + aot_gpr_16); goto L_08933B40; L_08933B40: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[9]); if (branch_taken) { goto L_08933B5C; } goto L_08933B50; } L_08933B50: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); { const bool branch_taken = 0u == 0u; ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08933B70; } goto L_08933B5C; } L_08933B5C: aot_fpr_13 = aot_fpr_20 - aot_fpr_13; ctx.gpr[8] = (32768u << 16u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[9] = (std::bit_cast(aot_fpr_13)); ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); goto L_08933B70; L_08933B70: aot_gpr_16 = (ctx.gpr[7] + aot_gpr_16); aot_gpr_16 = (aot_gpr_16 + ctx.gpr[8]); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[7]); { 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>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + 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_6 + 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(80)); { 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); } { 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_6 = (aot_gpr_29 + static_cast(96)); ctx.gpr[7] = (aot_gpr_29 + static_cast(128)); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08933BD8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933BD8u) goto L_08933BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08933BD8: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08933C98; } goto L_08933BE0; } L_08933BE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(160)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; 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 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08933C38; } goto L_08933C30; } L_08933C30: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_13)); goto L_08933C38; L_08933C38: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5064))); aot_fpr_13 = std::bit_cast(0u); ctx.gpr[2] = (16256u << 16u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_4 = (49152u << 16u); ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.gpr[8] = (ctx.gpr[17] << 16u); { const float fs = aot_fpr_20; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.gpr[2] = (17136u << 16u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); ctx.fpr[18] = std::bit_cast(ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08933C98u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933C98u) goto L_08933C98; AOT_REGCACHE_SYNC_OUT(); return; L_08933C98: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(224), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(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_08933CBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08933CDCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933CDCu) goto L_08933CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08933CDC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); ctx.gpr[2] = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8432), static_cast(aot_gpr_4)); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08933CF8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08933D6C; } goto L_08933D1C; } L_08933D1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08933D20; L_08933D20: aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08933D58; } goto L_08933D3C; } L_08933D3C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); aot_gpr_5 = (0u | 3u); aot_gpr_6 = (aot_gpr_6 + static_cast(8)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08933D58u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); 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 == 0x08933D58u) goto L_08933D58; AOT_REGCACHE_SYNC_OUT(); return; L_08933D58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); 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_16 + static_cast(0))); goto L_08933D20; } goto L_08933D6C; L_08933D6C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08933D7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + static_cast(8)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); if (branch_taken) { goto L_08933E24; } goto L_08933DB4; } L_08933DB4: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08933DF8; } goto L_08933DC0; } L_08933DC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08933DD4; } goto L_08933DCC; } L_08933DCC: aot_gpr_31 = (0x08933DD4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 459u, 0x08B65DE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933DD4u) goto L_08933DD4; AOT_REGCACHE_SYNC_OUT(); return; L_08933DD4: aot_gpr_31 = (0x08933DDCu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 601u, 0x08A53394u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933DDCu) goto L_08933DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08933DDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + static_cast(40)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08933DF4u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); 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 == 0x08933DF4u) goto L_08933DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08933DF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08933DF8; L_08933DF8: aot_gpr_31 = (0x08933E00u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 391u, 0x08B6A5DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933E00u) goto L_08933E00; AOT_REGCACHE_SYNC_OUT(); return; L_08933E00: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[2]); aot_gpr_6 = (aot_gpr_4 ^ aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); aot_gpr_5 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08933DB4; } goto L_08933E24; } L_08933E24: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08933E38: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] ^ aot_gpr_4); 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); if (branch_taken) { goto L_08933EF4; } goto L_08933E74; } L_08933E74: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_gpr_31 = (0x08933E80u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 391u, 0x08B6A5DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933E80u) goto L_08933E80; AOT_REGCACHE_SYNC_OUT(); return; L_08933E80: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08933EA8u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); 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 == 0x08933EA8u) goto L_08933EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08933EA8: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08933EB4; } goto L_08933EB0; } L_08933EB0: ctx.gpr[17] = (0u | 1u); goto L_08933EB4; L_08933EB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(60))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08933ED0u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933ED0u) goto L_08933ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08933ED0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (ctx.gpr[18] ^ 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; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); if (branch_taken) { goto L_08933E74; } goto L_08933EF4; } L_08933EF4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08933F0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[18] + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08933F78; } goto L_08933F44; } L_08933F44: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(40), static_cast(0u)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); goto L_08933F4C; L_08933F4C: aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[17]) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_5 + static_cast(12)); goto L_08933F6C; } goto L_08933F5C; L_08933F5C: ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[18] + static_cast(8)); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); if (branch_taken) { goto L_08933F70; } goto L_08933F6C; } L_08933F6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08933F70; L_08933F70: if (aot_gpr_5 != 0u) { aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); goto L_08933F4C; } goto L_08933F78; L_08933F78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_gpr_5 = (ctx.gpr[18] ^ aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 < 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_08933FA4; } goto L_08933F94; } L_08933F94: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 3u, 0x0893402Cu>(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_08933FA4; } L_08933FA4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08933FB4u); aot_gpr_4 = (0u | 64u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933FB4u) goto L_08933FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08933FB4: ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_4 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08933FCC; } goto L_08933FC0; } L_08933FC0: aot_gpr_31 = (0x08933FC8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 850u, 0x08AB33F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933FC8u) goto L_08933FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08933FC8: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_08933FCC; L_08933FCC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_29 + static_cast(12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(44)); ctx.gpr[7] = (aot_gpr_29 + static_cast(20)); aot_gpr_31 = (0x08933FFCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 571u, 0x08B6B034u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933FFCu) goto L_08933FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08933FFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.pc = 0x08934000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0075(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0075_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_75(Runtime &runtime) { runtime.register_generated_unit(75u, 0x08930000u, 16384u, &recomp_unit_0075, &recomp_unit_0075_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x08930000u, &recomp_unit_0075, "recomp_unit_0075", kEntryMasks_recomp_unit_0075, 64u); } } // namespace psprecomp