#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_0156[64] = { 0x0104200111102009ull, 0x8AAAA12424800000ull, 0x4A1111405402A488ull, 0x2422215452891088ull, 0x21110A2444448444ull, 0x1084512222242221ull, 0x0410C30888428611ull, 0x0044048884400054ull, 0x0A1100A258528001ull, 0x2200048500222110ull, 0x0008911088024428ull, 0x2088002211084822ull, 0x068004A080100091ull, 0x22252A4000001000ull, 0x4442A28211124504ull, 0x02960A052A850488ull, 0x22044004418C0B05ull, 0x0002820848002082ull, 0x6800908480006848ull, 0x0888555200004000ull, 0x0108155141110A8Aull, 0x0200221100440080ull, 0x00400D000C221202ull, 0x088841110A8A8A40ull, 0x50044420888550A0ull, 0x00044008810002A8ull, 0x000201A000100408ull, 0x4408604881112210ull, 0x24C9052222A08142ull, 0x1000020034004084ull, 0x440680808A850200ull, 0x104A209441510004ull, 0x4552A20944128825ull, 0x0A4924929124924Aull, 0x0000100000291008ull, 0x512259200A244B12ull, 0x000004028912C900ull, 0x0000400000000000ull, 0x0010102C45000000ull, 0x0040008A04400088ull, 0x180A006C4486C448ull, 0x1A40883002120200ull, 0x0808162280004020ull, 0x1140209500108400ull, 0xA92004220004041Bull, 0x00080C2802815714ull, 0x0000000000000012ull, 0x50948885000448C0ull, 0x22012024020214C4ull, 0x800000000424E245ull, 0x022042000085420Cull, 0x0004052000094000ull, 0x3400521020011120ull, 0x54A0840A00000200ull, 0x0908408011400000ull, 0x5025318921108400ull, 0xA000428000403000ull, 0x022048110024B428ull, 0x1010481424450500ull, 0x540A00058A228880ull, 0x0000000020280000ull, 0xA804102200000828ull, 0x0C04844A02010000ull, 0x0010000001880014ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0156[64] = { 1u, 11u, 26u, 43u, 61u, 77u, 93u, 109u, 120u, 135u, 146u, 158u, 170u, 181u, 191u, 208u, 226u, 241u, 250u, 263u, 274u, 291u, 299u, 310u, 326u, 341u, 350u, 357u, 371u, 389u, 397u, 410u, 424u, 444u, 465u, 471u, 491u, 502u, 503u, 511u, 519u, 537u, 549u, 559u, 570u, 584u, 599u, 601u, 616u, 629u, 640u, 651u, 658u, 670u, 680u, 688u, 704u, 712u, 726u, 739u, 754u, 757u, 767u, 777u, }; void recomp_unit_0156_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,6,31,16 fprs=12,13,22,14 gpr_occ=3945 fpr_occ=768 gpr_total=5816 fpr_total=1130 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_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; 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_22 = ctx.fpr[22]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[14] = aot_fpr_14; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_redispatch_rounds = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x08A74000u; entry_id = 0u; if (entry_delta < 16340u && (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_0156[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_0156[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_08A74000; case 2u: goto L_08A7400C; case 3u: goto L_08A74034; case 4u: goto L_08A74050; case 5u: goto L_08A74060; case 6u: goto L_08A74070; case 7u: goto L_08A74080; case 8u: goto L_08A740B4; case 9u: goto L_08A740C8; case 10u: goto L_08A740E0; case 11u: goto L_08A7415C; case 12u: goto L_08A74168; case 13u: goto L_08A74174; case 14u: goto L_08A74188; case 15u: goto L_08A74194; case 16u: goto L_08A741A0; case 17u: goto L_08A741B4; case 18u: goto L_08A741BC; case 19u: goto L_08A741C4; case 20u: goto L_08A741CC; case 21u: goto L_08A741D4; case 22u: goto L_08A741DC; case 23u: goto L_08A741E4; case 24u: goto L_08A741EC; case 25u: goto L_08A741FC; case 26u: goto L_08A7420C; case 27u: goto L_08A7421C; case 28u: goto L_08A74228; case 29u: goto L_08A74234; case 30u: goto L_08A7423C; case 31u: goto L_08A74244; case 32u: goto L_08A74268; case 33u: goto L_08A74270; case 34u: goto L_08A74278; case 35u: goto L_08A74298; case 36u: goto L_08A742A0; case 37u: goto L_08A742B0; case 38u: goto L_08A742C0; case 39u: goto L_08A742D0; case 40u: goto L_08A742E4; case 41u: goto L_08A742EC; case 42u: goto L_08A742F8; case 43u: goto L_08A7430C; case 44u: goto L_08A7431C; case 45u: goto L_08A74330; case 46u: goto L_08A74340; case 47u: goto L_08A7434C; case 48u: goto L_08A7435C; case 49u: goto L_08A74364; case 50u: goto L_08A74370; case 51u: goto L_08A74378; case 52u: goto L_08A74388; case 53u: goto L_08A74390; case 54u: goto L_08A74398; case 55u: goto L_08A743A0; case 56u: goto L_08A743B4; case 57u: goto L_08A743C4; case 58u: goto L_08A743D4; case 59u: goto L_08A743E8; case 60u: goto L_08A743F4; case 61u: goto L_08A74408; case 62u: goto L_08A74418; case 63u: goto L_08A74428; case 64u: goto L_08A7443C; case 65u: goto L_08A74448; case 66u: goto L_08A74458; case 67u: goto L_08A74468; case 68u: goto L_08A74478; case 69u: goto L_08A74488; case 70u: goto L_08A74494; case 71u: goto L_08A744A4; case 72u: goto L_08A744AC; case 73u: goto L_08A744C0; case 74u: goto L_08A744D0; case 75u: goto L_08A744E0; case 76u: goto L_08A744F4; case 77u: goto L_08A74500; case 78u: goto L_08A74514; case 79u: goto L_08A74524; case 80u: goto L_08A74534; case 81u: goto L_08A74548; case 82u: goto L_08A74554; case 83u: goto L_08A74564; case 84u: goto L_08A74574; case 85u: goto L_08A74584; case 86u: goto L_08A74594; case 87u: goto L_08A745A0; case 88u: goto L_08A745B0; case 89u: goto L_08A745B8; case 90u: goto L_08A745C8; case 91u: goto L_08A745DC; case 92u: goto L_08A745F0; case 93u: goto L_08A74600; case 94u: goto L_08A74610; case 95u: goto L_08A74624; case 96u: goto L_08A74628; case 97u: goto L_08A7463C; case 98u: goto L_08A74644; case 99u: goto L_08A74658; case 100u: goto L_08A7466C; case 101u: goto L_08A7467C; case 102u: goto L_08A7468C; case 103u: goto L_08A746A0; case 104u: goto L_08A746A4; case 105u: goto L_08A746B8; case 106u: goto L_08A746BC; case 107u: goto L_08A746D0; case 108u: goto L_08A746E8; case 109u: goto L_08A74708; case 110u: goto L_08A74710; case 111u: goto L_08A74718; case 112u: goto L_08A74758; case 113u: goto L_08A74768; case 114u: goto L_08A7477C; case 115u: goto L_08A7478C; case 116u: goto L_08A7479C; case 117u: goto L_08A747A8; case 118u: goto L_08A747C8; case 119u: goto L_08A747D8; case 120u: goto L_08A74800; case 121u: goto L_08A7483C; case 122u: goto L_08A74844; case 123u: goto L_08A74850; case 124u: goto L_08A74858; case 125u: goto L_08A7486C; case 126u: goto L_08A74870; case 127u: goto L_08A74878; case 128u: goto L_08A74884; case 129u: goto L_08A74894; case 130u: goto L_08A7489C; case 131u: goto L_08A748C0; case 132u: goto L_08A748D0; case 133u: goto L_08A748E4; case 134u: goto L_08A748EC; case 135u: goto L_08A74910; case 136u: goto L_08A74920; case 137u: goto L_08A74934; case 138u: goto L_08A74944; case 139u: goto L_08A74954; case 140u: goto L_08A74980; case 141u: goto L_08A74988; case 142u: goto L_08A7499C; case 143u: goto L_08A749A8; case 144u: goto L_08A749E4; case 145u: goto L_08A749F4; case 146u: goto L_08A74A0C; case 147u: goto L_08A74A14; case 148u: goto L_08A74A28; case 149u: goto L_08A74A38; case 150u: goto L_08A74A44; case 151u: goto L_08A74A6C; case 152u: goto L_08A74A7C; case 153u: goto L_08A74A90; case 154u: goto L_08A74AA0; case 155u: goto L_08A74AB0; case 156u: goto L_08A74ABC; case 157u: goto L_08A74ACC; case 158u: goto L_08A74B04; case 159u: goto L_08A74B14; case 160u: goto L_08A74B2C; case 161u: goto L_08A74B38; case 162u: goto L_08A74B4C; case 163u: goto L_08A74B60; case 164u: goto L_08A74B70; case 165u: goto L_08A74B84; case 166u: goto L_08A74B94; case 167u: goto L_08A74BCC; case 168u: goto L_08A74BDC; case 169u: goto L_08A74BF4; case 170u: goto L_08A74C00; case 171u: goto L_08A74C10; case 172u: goto L_08A74C1C; case 173u: goto L_08A74C50; case 174u: goto L_08A74C7C; case 175u: goto L_08A74C94; case 176u: goto L_08A74C9C; case 177u: goto L_08A74CA8; case 178u: goto L_08A74CDC; case 179u: goto L_08A74CE4; case 180u: goto L_08A74CE8; case 181u: goto L_08A74D30; case 182u: goto L_08A74D98; case 183u: goto L_08A74DA4; case 184u: goto L_08A74DAC; case 185u: goto L_08A74DB4; case 186u: goto L_08A74DC0; case 187u: goto L_08A74DC8; case 188u: goto L_08A74DD4; case 189u: goto L_08A74DE4; case 190u: goto L_08A74DF4; case 191u: goto L_08A74E08; case 192u: goto L_08A74E20; case 193u: goto L_08A74E28; case 194u: goto L_08A74E38; case 195u: goto L_08A74E44; case 196u: goto L_08A74E50; case 197u: goto L_08A74E60; case 198u: goto L_08A74E70; case 199u: goto L_08A74E84; case 200u: goto L_08A74E9C; case 201u: goto L_08A74EA4; case 202u: goto L_08A74EB4; case 203u: goto L_08A74EBC; case 204u: goto L_08A74EC4; case 205u: goto L_08A74ED8; case 206u: goto L_08A74EE8; case 207u: goto L_08A74EF8; case 208u: goto L_08A74F0C; case 209u: goto L_08A74F1C; case 210u: goto L_08A74F28; case 211u: goto L_08A74F40; case 212u: goto L_08A74F48; case 213u: goto L_08A74F5C; case 214u: goto L_08A74F64; case 215u: goto L_08A74F6C; case 216u: goto L_08A74F74; case 217u: goto L_08A74F80; case 218u: goto L_08A74F88; case 219u: goto L_08A74FA4; case 220u: goto L_08A74FAC; case 221u: goto L_08A74FC4; case 222u: goto L_08A74FC8; case 223u: goto L_08A74FD0; case 224u: goto L_08A74FDC; case 225u: goto L_08A74FE4; case 226u: goto L_08A75000; case 227u: goto L_08A75008; case 228u: goto L_08A75020; case 229u: goto L_08A75024; case 230u: goto L_08A7502C; case 231u: goto L_08A75048; case 232u: goto L_08A7504C; case 233u: goto L_08A7505C; case 234u: goto L_08A75060; case 235u: goto L_08A75078; case 236u: goto L_08A75088; case 237u: goto L_08A750B8; case 238u: goto L_08A750C8; case 239u: goto L_08A750E4; case 240u: goto L_08A750F4; case 241u: goto L_08A75104; case 242u: goto L_08A7511C; case 243u: goto L_08A75134; case 244u: goto L_08A7516C; case 245u: goto L_08A75178; case 246u: goto L_08A7518C; case 247u: goto L_08A751A4; case 248u: goto L_08A751BC; case 249u: goto L_08A751C4; case 250u: goto L_08A7520C; case 251u: goto L_08A75218; case 252u: goto L_08A7522C; case 253u: goto L_08A75234; case 254u: goto L_08A75238; case 255u: goto L_08A7527C; case 256u: goto L_08A75288; case 257u: goto L_08A7529C; case 258u: goto L_08A752B0; case 259u: goto L_08A752BC; case 260u: goto L_08A752EC; case 261u: goto L_08A752F4; case 262u: goto L_08A752F8; case 263u: goto L_08A75338; case 264u: goto L_08A75384; case 265u: goto L_08A75390; case 266u: goto L_08A75398; case 267u: goto L_08A753A0; case 268u: goto L_08A753A8; case 269u: goto L_08A753B0; case 270u: goto L_08A753B8; case 271u: goto L_08A753CC; case 272u: goto L_08A753DC; case 273u: goto L_08A753EC; case 274u: goto L_08A75404; case 275u: goto L_08A7540C; case 276u: goto L_08A7541C; case 277u: goto L_08A75424; case 278u: goto L_08A7542C; case 279u: goto L_08A75440; case 280u: goto L_08A75450; case 281u: goto L_08A75460; case 282u: goto L_08A75478; case 283u: goto L_08A75480; case 284u: goto L_08A75490; case 285u: goto L_08A75498; case 286u: goto L_08A754A0; case 287u: goto L_08A754A8; case 288u: goto L_08A754B0; case 289u: goto L_08A754CC; case 290u: goto L_08A754E0; case 291u: goto L_08A7551C; case 292u: goto L_08A75548; case 293u: goto L_08A75558; case 294u: goto L_08A75580; case 295u: goto L_08A75590; case 296u: goto L_08A755A4; case 297u: goto L_08A755B4; case 298u: goto L_08A755E4; case 299u: goto L_08A75604; case 300u: goto L_08A75624; case 301u: goto L_08A75630; case 302u: goto L_08A75644; case 303u: goto L_08A75654; case 304u: goto L_08A75668; case 305u: goto L_08A7566C; case 306u: goto L_08A756A0; case 307u: goto L_08A756A8; case 308u: goto L_08A756AC; case 309u: goto L_08A756D8; case 310u: goto L_08A75718; case 311u: goto L_08A75724; case 312u: goto L_08A7572C; case 313u: goto L_08A7573C; case 314u: goto L_08A75744; case 315u: goto L_08A7574C; case 316u: goto L_08A7575C; case 317u: goto L_08A75764; case 318u: goto L_08A7576C; case 319u: goto L_08A75780; case 320u: goto L_08A75790; case 321u: goto L_08A757A0; case 322u: goto L_08A757B8; case 323u: goto L_08A757CC; case 324u: goto L_08A757DC; case 325u: goto L_08A757EC; case 326u: goto L_08A75814; case 327u: goto L_08A7581C; case 328u: goto L_08A75830; case 329u: goto L_08A75838; case 330u: goto L_08A75840; case 331u: goto L_08A75848; case 332u: goto L_08A7585C; case 333u: goto L_08A7586C; case 334u: goto L_08A7587C; case 335u: goto L_08A75894; case 336u: goto L_08A758A8; case 337u: goto L_08A758B8; case 338u: goto L_08A758C8; case 339u: goto L_08A758F0; case 340u: goto L_08A758F8; case 341u: goto L_08A7590C; case 342u: goto L_08A75914; case 343u: goto L_08A7591C; case 344u: goto L_08A75924; case 345u: goto L_08A75960; case 346u: goto L_08A7597C; case 347u: goto L_08A7598C; case 348u: goto L_08A759B8; case 349u: goto L_08A759C8; case 350u: goto L_08A75A0C; case 351u: goto L_08A75A28; case 352u: goto L_08A75A50; case 353u: goto L_08A75A94; case 354u: goto L_08A75A9C; case 355u: goto L_08A75AA0; case 356u: goto L_08A75AC4; case 357u: goto L_08A75B10; case 358u: goto L_08A75B24; case 359u: goto L_08A75B34; case 360u: goto L_08A75B40; case 361u: goto L_08A75B50; case 362u: goto L_08A75B60; case 363u: goto L_08A75B7C; case 364u: goto L_08A75B8C; case 365u: goto L_08A75B98; case 366u: goto L_08A75BB4; case 367u: goto L_08A75BB8; case 368u: goto L_08A75BCC; case 369u: goto L_08A75BE8; case 370u: goto L_08A75BF8; case 371u: goto L_08A75C04; case 372u: goto L_08A75C18; case 373u: goto L_08A75C20; case 374u: goto L_08A75C3C; case 375u: goto L_08A75C54; case 376u: goto L_08A75C5C; case 377u: goto L_08A75C64; case 378u: goto L_08A75C74; case 379u: goto L_08A75C84; case 380u: goto L_08A75C94; case 381u: goto L_08A75CA0; case 382u: goto L_08A75CA8; case 383u: goto L_08A75CC0; case 384u: goto L_08A75CCC; case 385u: goto L_08A75CD8; case 386u: goto L_08A75CDC; case 387u: goto L_08A75CE8; case 388u: goto L_08A75CF4; case 389u: goto L_08A75D08; case 390u: goto L_08A75D1C; case 391u: goto L_08A75D38; case 392u: goto L_08A75D68; case 393u: goto L_08A75D70; case 394u: goto L_08A75D74; case 395u: goto L_08A75DA4; case 396u: goto L_08A75DF0; case 397u: goto L_08A75E24; case 398u: goto L_08A75E40; case 399u: goto L_08A75E48; case 400u: goto L_08A75E5C; case 401u: goto L_08A75E64; case 402u: goto L_08A75E6C; case 403u: goto L_08A75E7C; case 404u: goto L_08A75E9C; case 405u: goto L_08A75EBC; case 406u: goto L_08A75EC4; case 407u: goto L_08A75EC8; case 408u: goto L_08A75EE8; case 409u: goto L_08A75EF8; case 410u: goto L_08A75F08; case 411u: goto L_08A75F40; case 412u: goto L_08A75F50; case 413u: goto L_08A75F58; case 414u: goto L_08A75F60; case 415u: goto L_08A75F78; case 416u: goto L_08A75F88; case 417u: goto L_08A75F90; case 418u: goto L_08A75F9C; case 419u: goto L_08A75FB4; case 420u: goto L_08A75FC4; case 421u: goto L_08A75FCC; case 422u: goto L_08A75FD8; case 423u: goto L_08A75FF0; case 424u: goto L_08A76000; case 425u: goto L_08A76008; case 426u: goto L_08A76014; case 427u: goto L_08A7602C; case 428u: goto L_08A7603C; case 429u: goto L_08A76044; case 430u: goto L_08A76050; case 431u: goto L_08A76068; case 432u: goto L_08A76078; case 433u: goto L_08A76080; case 434u: goto L_08A7608C; case 435u: goto L_08A760A4; case 436u: goto L_08A760B4; case 437u: goto L_08A760BC; case 438u: goto L_08A760C4; case 439u: goto L_08A760D0; case 440u: goto L_08A760D8; case 441u: goto L_08A760E0; case 442u: goto L_08A760E8; case 443u: goto L_08A760F8; case 444u: goto L_08A76104; case 445u: goto L_08A7610C; case 446u: goto L_08A76118; case 447u: goto L_08A76124; case 448u: goto L_08A76130; case 449u: goto L_08A7613C; case 450u: goto L_08A76148; case 451u: goto L_08A76154; case 452u: goto L_08A76160; case 453u: goto L_08A76170; case 454u: goto L_08A7617C; case 455u: goto L_08A76184; case 456u: goto L_08A76190; case 457u: goto L_08A7619C; case 458u: goto L_08A761A8; case 459u: goto L_08A761B4; case 460u: goto L_08A761C0; case 461u: goto L_08A761CC; case 462u: goto L_08A761D8; case 463u: goto L_08A761E4; case 464u: goto L_08A761EC; case 465u: goto L_08A7620C; case 466u: goto L_08A76230; case 467u: goto L_08A76240; case 468u: goto L_08A7624C; case 469u: goto L_08A76254; case 470u: goto L_08A762B0; case 471u: goto L_08A76304; case 472u: goto L_08A76310; case 473u: goto L_08A76320; case 474u: goto L_08A76324; case 475u: goto L_08A7632C; case 476u: goto L_08A76338; case 477u: goto L_08A76348; case 478u: goto L_08A76354; case 479u: goto L_08A76364; case 480u: goto L_08A7636C; case 481u: goto L_08A76394; case 482u: goto L_08A763A0; case 483u: goto L_08A763AC; case 484u: goto L_08A763B0; case 485u: goto L_08A763B8; case 486u: goto L_08A763C4; case 487u: goto L_08A763D4; case 488u: goto L_08A763E0; case 489u: goto L_08A763F0; case 490u: goto L_08A763F8; case 491u: goto L_08A76420; case 492u: goto L_08A7642C; case 493u: goto L_08A76438; case 494u: goto L_08A7643C; case 495u: goto L_08A76444; case 496u: goto L_08A76450; case 497u: goto L_08A76460; case 498u: goto L_08A7646C; case 499u: goto L_08A7647C; case 500u: goto L_08A76484; case 501u: goto L_08A764A8; case 502u: goto L_08A765B8; case 503u: goto L_08A76660; case 504u: goto L_08A76668; case 505u: goto L_08A76678; case 506u: goto L_08A76688; case 507u: goto L_08A7668C; case 508u: goto L_08A76694; case 509u: goto L_08A766B0; case 510u: goto L_08A766D0; case 511u: goto L_08A7670C; case 512u: goto L_08A7671C; case 513u: goto L_08A76758; case 514u: goto L_08A76768; case 515u: goto L_08A76784; case 516u: goto L_08A7678C; case 517u: goto L_08A7679C; case 518u: goto L_08A767D8; case 519u: goto L_08A7680C; case 520u: goto L_08A76818; case 521u: goto L_08A76828; case 522u: goto L_08A76838; case 523u: goto L_08A7683C; case 524u: goto L_08A76844; case 525u: goto L_08A76848; case 526u: goto L_08A7685C; case 527u: goto L_08A76868; case 528u: goto L_08A76878; case 529u: goto L_08A76888; case 530u: goto L_08A7688C; case 531u: goto L_08A76894; case 532u: goto L_08A76898; case 533u: goto L_08A768C4; case 534u: goto L_08A768CC; case 535u: goto L_08A768EC; case 536u: goto L_08A768F0; case 537u: goto L_08A76924; case 538u: goto L_08A76944; case 539u: goto L_08A76950; case 540u: goto L_08A76964; case 541u: goto L_08A76990; case 542u: goto L_08A76994; case 543u: goto L_08A769AC; case 544u: goto L_08A769BC; case 545u: goto L_08A769D8; case 546u: goto L_08A769E4; case 547u: goto L_08A769EC; case 548u: goto L_08A769F0; case 549u: goto L_08A76A14; case 550u: goto L_08A76A38; case 551u: goto L_08A76A7C; case 552u: goto L_08A76A84; case 553u: goto L_08A76A94; case 554u: goto L_08A76AA4; case 555u: goto L_08A76AA8; case 556u: goto L_08A76AB0; case 557u: goto L_08A76ACC; case 558u: goto L_08A76AEC; case 559u: goto L_08A76B28; case 560u: goto L_08A76B3C; case 561u: goto L_08A76B50; case 562u: goto L_08A76B80; case 563u: goto L_08A76B88; case 564u: goto L_08A76B90; case 565u: goto L_08A76B9C; case 566u: goto L_08A76BB4; case 567u: goto L_08A76BD8; case 568u: goto L_08A76BE0; case 569u: goto L_08A76BF0; case 570u: goto L_08A76C00; case 571u: goto L_08A76C04; case 572u: goto L_08A76C0C; case 573u: goto L_08A76C10; case 574u: goto L_08A76C28; case 575u: goto L_08A76C48; case 576u: goto L_08A76C84; case 577u: goto L_08A76C94; case 578u: goto L_08A76CA8; case 579u: goto L_08A76CD4; case 580u: goto L_08A76CE0; case 581u: goto L_08A76CEC; case 582u: goto L_08A76CF4; case 583u: goto L_08A76CFC; case 584u: goto L_08A76D08; case 585u: goto L_08A76D10; case 586u: goto L_08A76D20; case 587u: goto L_08A76D24; case 588u: goto L_08A76D28; case 589u: goto L_08A76D30; case 590u: goto L_08A76D38; case 591u: goto L_08A76D40; case 592u: goto L_08A76D5C; case 593u: goto L_08A76D64; case 594u: goto L_08A76D8C; case 595u: goto L_08A76D94; case 596u: goto L_08A76DA8; case 597u: goto L_08A76DAC; case 598u: goto L_08A76DCC; case 599u: goto L_08A76E04; case 600u: goto L_08A76E10; case 601u: goto L_08A76F18; case 602u: goto L_08A76F1C; case 603u: goto L_08A76F2C; case 604u: goto L_08A76F38; case 605u: goto L_08A76F48; case 606u: goto L_08A76F80; case 607u: goto L_08A76F88; case 608u: goto L_08A76F9C; case 609u: goto L_08A76FAC; case 610u: goto L_08A76FBC; case 611u: goto L_08A76FC8; case 612u: goto L_08A76FD0; case 613u: goto L_08A76FDC; case 614u: goto L_08A76FF0; case 615u: goto L_08A76FF8; case 616u: goto L_08A77008; case 617u: goto L_08A77018; case 618u: goto L_08A7701C; case 619u: goto L_08A77028; case 620u: goto L_08A77030; case 621u: goto L_08A77044; case 622u: goto L_08A77064; case 623u: goto L_08A77088; case 624u: goto L_08A77094; case 625u: goto L_08A770B4; case 626u: goto L_08A770C0; case 627u: goto L_08A770E4; case 628u: goto L_08A770F4; case 629u: goto L_08A77100; case 630u: goto L_08A77108; case 631u: goto L_08A77118; case 632u: goto L_08A77124; case 633u: goto L_08A77134; case 634u: goto L_08A77138; case 635u: goto L_08A7713C; case 636u: goto L_08A77148; case 637u: goto L_08A77154; case 638u: goto L_08A77168; case 639u: goto L_08A771FC; case 640u: goto L_08A77208; case 641u: goto L_08A7720C; case 642u: goto L_08A77224; case 643u: goto L_08A77238; case 644u: goto L_08A77240; case 645u: goto L_08A77248; case 646u: goto L_08A7725C; case 647u: goto L_08A772A4; case 648u: goto L_08A772B8; case 649u: goto L_08A772D4; case 650u: goto L_08A772E4; case 651u: goto L_08A77338; case 652u: goto L_08A77340; case 653u: goto L_08A7734C; case 654u: goto L_08A77394; case 655u: goto L_08A773A0; case 656u: goto L_08A773A8; case 657u: goto L_08A773C8; case 658u: goto L_08A77414; case 659u: goto L_08A77420; case 660u: goto L_08A77430; case 661u: goto L_08A77440; case 662u: goto L_08A77474; case 663u: goto L_08A77490; case 664u: goto L_08A774A4; case 665u: goto L_08A774B0; case 666u: goto L_08A774B8; case 667u: goto L_08A774E8; case 668u: goto L_08A774F0; case 669u: goto L_08A774F4; case 670u: goto L_08A77524; case 671u: goto L_08A77584; case 672u: goto L_08A7758C; case 673u: goto L_08A775A8; case 674u: goto L_08A775BC; case 675u: goto L_08A775D4; case 676u: goto L_08A775DC; case 677u: goto L_08A775E8; case 678u: goto L_08A775F0; case 679u: goto L_08A775F8; case 680u: goto L_08A77658; case 681u: goto L_08A77660; case 682u: goto L_08A77670; case 683u: goto L_08A7769C; case 684u: goto L_08A776B8; case 685u: goto L_08A776CC; case 686u: goto L_08A776E0; case 687u: goto L_08A776EC; case 688u: goto L_08A77728; case 689u: goto L_08A7773C; case 690u: goto L_08A77750; case 691u: goto L_08A77760; case 692u: goto L_08A77774; case 693u: goto L_08A77780; case 694u: goto L_08A7778C; case 695u: goto L_08A7779C; case 696u: goto L_08A777A0; case 697u: goto L_08A777B0; case 698u: goto L_08A777B4; case 699u: goto L_08A777C0; case 700u: goto L_08A777C8; case 701u: goto L_08A777D4; case 702u: goto L_08A777F0; case 703u: goto L_08A777F8; case 704u: goto L_08A77830; case 705u: goto L_08A77834; case 706u: goto L_08A77858; case 707u: goto L_08A7789C; case 708u: goto L_08A778A4; case 709u: goto L_08A778B8; case 710u: goto L_08A778F4; case 711u: goto L_08A778FC; case 712u: goto L_08A7790C; case 713u: goto L_08A77914; case 714u: goto L_08A77928; case 715u: goto L_08A77930; case 716u: goto L_08A77934; case 717u: goto L_08A7793C; case 718u: goto L_08A77948; case 719u: goto L_08A77954; case 720u: goto L_08A77980; case 721u: goto L_08A77990; case 722u: goto L_08A779AC; case 723u: goto L_08A779B8; case 724u: goto L_08A779D4; case 725u: goto L_08A779E4; case 726u: goto L_08A77A20; case 727u: goto L_08A77A28; case 728u: goto L_08A77A40; case 729u: goto L_08A77A48; case 730u: goto L_08A77A58; case 731u: goto L_08A77A68; case 732u: goto L_08A77A74; case 733u: goto L_08A77A88; case 734u: goto L_08A77A90; case 735u: goto L_08A77AAC; case 736u: goto L_08A77AB8; case 737u: goto L_08A77AD0; case 738u: goto L_08A77AF0; case 739u: goto L_08A77B1C; case 740u: goto L_08A77B2C; case 741u: goto L_08A77B3C; case 742u: goto L_08A77B44; case 743u: goto L_08A77B54; case 744u: goto L_08A77B64; case 745u: goto L_08A77B6C; case 746u: goto L_08A77B7C; case 747u: goto L_08A77B80; case 748u: goto L_08A77B88; case 749u: goto L_08A77BC4; case 750u: goto L_08A77BCC; case 751u: goto L_08A77BE8; case 752u: goto L_08A77BF0; case 753u: goto L_08A77BF8; case 754u: goto L_08A77C4C; case 755u: goto L_08A77C54; case 756u: goto L_08A77C74; case 757u: goto L_08A77D0C; case 758u: goto L_08A77D14; case 759u: goto L_08A77D2C; case 760u: goto L_08A77D84; case 761u: goto L_08A77D94; case 762u: goto L_08A77DB0; case 763u: goto L_08A77DC8; case 764u: goto L_08A77DEC; case 765u: goto L_08A77DF4; case 766u: goto L_08A77DFC; case 767u: goto L_08A77E40; case 768u: goto L_08A77E64; case 769u: goto L_08A77E84; case 770u: goto L_08A77E8C; case 771u: goto L_08A77E98; case 772u: goto L_08A77EA8; case 773u: goto L_08A77EBC; case 774u: goto L_08A77EC8; case 775u: goto L_08A77EE8; case 776u: goto L_08A77EEC; case 777u: goto L_08A77F08; case 778u: goto L_08A77F10; case 779u: goto L_08A77F4C; case 780u: goto L_08A77F5C; case 781u: goto L_08A77F60; case 782u: goto L_08A77FD0; 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_08A74000: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); 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_08A7400C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (16256u << 16u); ctx.fpr[20] = std::bit_cast(0u); aot_gpr_4 = (0u | 2u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), aot_gpr_16, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = aot_gpr_6 != aot_gpr_4; aot_fpr_22 = std::bit_cast(ctx.gpr[8]); if (branch_taken) { goto L_08A74050; } goto L_08A74034; } L_08A74034: ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(80))); ctx.fpr[20] = ctx.fpr[20] / aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < ctx.fpr[20])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_22)); goto L_08A74050; } goto L_08A74050; L_08A74050: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74080; } goto L_08A74060; L_08A74060: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(56)); aot_gpr_31 = (0x08A74070u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A74070u) goto L_08A74070; AOT_REGCACHE_SYNC_OUT(); return; L_08A74070: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74080; L_08A74080: aot_gpr_4 = (aot_gpr_4 + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (16800u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); goto L_08A740B4; } goto L_08A740B4; L_08A740B4: ctx.fpr[0] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[0])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_08A740C8; } goto L_08A740C8; L_08A740C8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; aot_gpr_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_08A740E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_gpr_6 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(54), static_cast(aot_gpr_6)); aot_gpr_6 = (17579u << 16u); aot_gpr_6 = (aot_gpr_6 | 8192u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[26])); aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.fpr[26] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[30]); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[22] = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[30] = (0u | 0u); ctx.gpr[21] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[24])); { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A74CE4; } goto L_08A7415C; } L_08A7415C: aot_gpr_5 = (ctx.gpr[20] + static_cast(4)); aot_gpr_31 = (0x08A74168u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74168u) goto L_08A74168; AOT_REGCACHE_SYNC_OUT(); return; L_08A74168: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A74988; } goto L_08A74174; } L_08A74174: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_6 = (static_cast(aot_gpr_5) < 175 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_6 = (0u | 229u); if (branch_taken) { goto L_08A741CC; } goto L_08A74188; } L_08A74188: aot_gpr_6 = (static_cast(aot_gpr_5) < -969 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_6 = (static_cast(aot_gpr_5) < -967 ? 1u : 0u); if (branch_taken) { goto L_08A741B4; } goto L_08A74194; } L_08A74194: aot_gpr_6 = (0u + static_cast(-1000)); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; if (branch_taken) { goto L_08A741FC; } goto L_08A741A0; } L_08A741A0: aot_gpr_5 = (0u | 1u); ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(94))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(54), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); if (branch_taken) { goto L_08A74234; } goto L_08A741B4; } L_08A741B4: { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (static_cast(aot_gpr_5) < 174 ? 1u : 0u); if (branch_taken) { goto L_08A741EC; } goto L_08A741BC; } L_08A741BC: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A741A0; } goto L_08A741C4; } L_08A741C4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A741FC; } goto L_08A741CC; } L_08A741CC: { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_6 = (0u | 208u); if (branch_taken) { goto L_08A741EC; } goto L_08A741D4; } L_08A741D4: { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_6 = (0u | 184u); if (branch_taken) { goto L_08A741A0; } goto L_08A741DC; } L_08A741DC: { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08A741A0; } goto L_08A741E4; } L_08A741E4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A741FC; } goto L_08A741EC; } L_08A741EC: ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(94))); ctx.gpr[30] = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); if (branch_taken) { goto L_08A74234; } goto L_08A741FC; } L_08A741FC: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A74228; } goto L_08A7420C; } L_08A7420C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(40)); aot_gpr_31 = (0x08A7421Cu); aot_gpr_4 = (ctx.gpr[22] | 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 == 0x08A7421Cu) goto L_08A7421C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7421C: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40))); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(4), static_cast(aot_gpr_4)); goto L_08A74228; L_08A74228: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(96))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(196))); goto L_08A74234; L_08A74234: { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_gpr_5 = (0u | 6u); if (branch_taken) { goto L_08A74270; } goto L_08A7423C; } L_08A7423C: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08A74268; } goto L_08A74244; } L_08A74244: aot_gpr_6 = (16192u << 16u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); ctx.fpr[28] = std::bit_cast(aot_gpr_6); aot_gpr_5 = (0u | 4u); aot_gpr_6 = (16916u << 16u); aot_gpr_4 = (aot_gpr_5 | 0u); ctx.fpr[30] = std::bit_cast(aot_gpr_6); { const bool branch_taken = 0u == 0u; ctx.gpr[23] = (aot_gpr_16 + static_cast(376)); if (branch_taken) { goto L_08A74298; } goto L_08A74268; } L_08A74268: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A74CE8; } goto L_08A74270; } L_08A74270: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A74268; } goto L_08A74278; } L_08A74278: aot_gpr_6 = (16192u << 16u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); ctx.fpr[28] = std::bit_cast(aot_gpr_6); aot_gpr_5 = (0u | 2u); aot_gpr_6 = (16916u << 16u); aot_gpr_4 = (aot_gpr_5 | 0u); ctx.fpr[30] = std::bit_cast(aot_gpr_6); ctx.gpr[23] = (aot_gpr_16 + static_cast(376)); goto L_08A74298; L_08A74298: { const bool branch_taken = static_cast(aot_gpr_5) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(55), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08A74850; } goto L_08A742A0; } L_08A742A0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A742D0; } goto L_08A742B0; L_08A742B0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(41)); aot_gpr_31 = (0x08A742C0u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A742C0u) goto L_08A742C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A742C0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(41))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A742D0; L_08A742D0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(192))); 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_08A7431C; } goto L_08A742E4; } L_08A742E4: { const bool branch_taken = ctx.gpr[30] == 0u; if (branch_taken) { goto L_08A742F8; } goto L_08A742EC; } L_08A742EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(54))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A7431C; } goto L_08A742F8; } L_08A742F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A746BC; } goto L_08A7430C; } L_08A7430C: aot_gpr_5 = (16230u << 16u); aot_gpr_5 = (aot_gpr_5 | 26214u); { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08A746BC; } goto L_08A7431C; } L_08A7431C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (0u | 2u); if (branch_taken) { goto L_08A7434C; } goto L_08A74330; } L_08A74330: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(42)); aot_gpr_31 = (0x08A74340u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A74340u) goto L_08A74340; AOT_REGCACHE_SYNC_OUT(); return; L_08A74340: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(42))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); goto L_08A7434C; L_08A7434C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(194))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A74370; } goto L_08A7435C; } L_08A7435C: { const bool branch_taken = ctx.gpr[30] != 0u; if (branch_taken) { goto L_08A74370; } goto L_08A74364; } L_08A74364: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(54))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A74378; } goto L_08A74370; } L_08A74370: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A746BC; } goto L_08A74378; } L_08A74378: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(92)))))); aot_gpr_6 = (0u | 82u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_6 = (0u | 70u); if (branch_taken) { goto L_08A743A0; } goto L_08A74388; } L_08A74388: { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_6 = (0u | 52u); if (branch_taken) { goto L_08A744AC; } goto L_08A74390; } L_08A74390: { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08A745B8; } goto L_08A74398; } L_08A74398: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A746BC; } goto L_08A743A0; } L_08A743A0: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); ctx.gpr[7] = (0u | 6u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08A74408; } goto L_08A743B4; } L_08A743B4: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A743E8; } goto L_08A743C4; L_08A743C4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(43)); aot_gpr_31 = (0x08A743D4u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A743D4u) goto L_08A743D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A743D4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(43))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A743E8; L_08A743E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(220))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; if (branch_taken) { goto L_08A744A4; } goto L_08A743F4; } L_08A743F4: aot_gpr_5 = (15948u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_22 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_fpr_22 = ctx.fpr[26] + aot_fpr_22; if (branch_taken) { goto L_08A744A4; } goto L_08A74408; } L_08A74408: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A7443C; } goto L_08A74418; L_08A74418: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(44)); aot_gpr_31 = (0x08A74428u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A74428u) goto L_08A74428; AOT_REGCACHE_SYNC_OUT(); return; L_08A74428: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(44))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A7443C; L_08A7443C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(220))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; if (branch_taken) { goto L_08A74458; } goto L_08A74448; } L_08A74448: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_fpr_22 = ctx.fpr[26] + aot_fpr_22; goto L_08A74458; L_08A74458: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74488; } goto L_08A74468; L_08A74468: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(45)); aot_gpr_31 = (0x08A74478u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A74478u) goto L_08A74478; AOT_REGCACHE_SYNC_OUT(); return; L_08A74478: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(45))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74488; L_08A74488: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(228))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A744A4; } goto L_08A74494; } L_08A74494: aot_gpr_5 = (15820u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_22 = aot_fpr_22 + aot_fpr_12; goto L_08A744A4; L_08A744A4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A746BC; } goto L_08A744AC; } L_08A744AC: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); ctx.gpr[7] = (0u | 6u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08A74514; } goto L_08A744C0; } L_08A744C0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A744F4; } goto L_08A744D0; L_08A744D0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(46)); aot_gpr_31 = (0x08A744E0u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A744E0u) goto L_08A744E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A744E0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(46))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A744F4; L_08A744F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(216))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; if (branch_taken) { goto L_08A745B0; } goto L_08A74500; } L_08A74500: aot_gpr_5 = (15948u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_22 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_fpr_22 = ctx.fpr[26] + aot_fpr_22; if (branch_taken) { goto L_08A745B0; } goto L_08A74514; } L_08A74514: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74548; } goto L_08A74524; L_08A74524: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(47)); aot_gpr_31 = (0x08A74534u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A74534u) goto L_08A74534; AOT_REGCACHE_SYNC_OUT(); return; L_08A74534: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(47))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74548; L_08A74548: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; if (branch_taken) { goto L_08A74564; } goto L_08A74554; } L_08A74554: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_fpr_22 = ctx.fpr[26] + aot_fpr_22; goto L_08A74564; L_08A74564: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74594; } goto L_08A74574; L_08A74574: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x08A74584u); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A74584u) goto L_08A74584; AOT_REGCACHE_SYNC_OUT(); return; L_08A74584: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74594; L_08A74594: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A745B0; } goto L_08A745A0; } L_08A745A0: aot_gpr_5 = (15820u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_22 = aot_fpr_22 + aot_fpr_12; goto L_08A745B0; L_08A745B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A746BC; } goto L_08A745B8; } L_08A745B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_08A74644; } goto L_08A745C8; } L_08A745C8: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.gpr[17] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(49)); goto L_08A745DC; L_08A745DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74610; } goto L_08A745F0; L_08A745F0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A74600u); aot_gpr_6 = (ctx.gpr[18] | 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 == 0x08A74600u) goto L_08A74600; AOT_REGCACHE_SYNC_OUT(); return; L_08A74600: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(49))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74610; L_08A74610: aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; if (branch_taken) { goto L_08A74628; } goto L_08A74624; } L_08A74624: aot_fpr_22 = aot_fpr_22 + ctx.fpr[20]; goto L_08A74628; L_08A74628: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A745DC; } goto L_08A7463C; } L_08A7463C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A746BC; } goto L_08A74644; } L_08A74644: aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.gpr[17] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(50)); goto L_08A74658; L_08A74658: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A7468C; } goto L_08A7466C; L_08A7466C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A7467Cu); aot_gpr_6 = (ctx.gpr[18] | 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 == 0x08A7467Cu) goto L_08A7467C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7467C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(50))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A7468C; L_08A7468C: aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; if (branch_taken) { goto L_08A746A4; } goto L_08A746A0; } L_08A746A0: aot_fpr_22 = aot_fpr_22 + ctx.fpr[20]; goto L_08A746A4; L_08A746A4: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A74658; } goto L_08A746B8; } L_08A746B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); goto L_08A746BC; L_08A746BC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); 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_08A74844; } goto L_08A746D0; } L_08A746D0: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(54))); aot_gpr_6 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); aot_gpr_5 = (ctx.gpr[30] | aot_gpr_5); { const bool branch_taken = aot_gpr_5 == 0u; ctx.fpr[20] = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08A74710; } goto L_08A746E8; } L_08A746E8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_fpr_22 = aot_fpr_12 / aot_fpr_13; aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_22) & 0x7FFFFFFFu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(76))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_22)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_08A74708; } goto L_08A74708; L_08A74708: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A74870; } goto L_08A74710; } L_08A74710: { const bool branch_taken = static_cast(ctx.gpr[22]) <= 0; aot_gpr_5 = (ctx.gpr[22] & 255u); if (branch_taken) { goto L_08A74800; } goto L_08A74718; } L_08A74718: aot_gpr_5 = (ctx.gpr[22] & 255u); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 2u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fpr[24] = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (16416u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[15]; 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) | (((ctx.fpr[20] < ctx.fpr[24])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_08A74758; } goto L_08A74758; L_08A74758: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_22) || std::isnan(ctx.fpr[26])) && aot_fpr_22 == ctx.fpr[26])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); goto L_08A747D8; } goto L_08A74768; L_08A74768: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (0u | 2u); if (branch_taken) { goto L_08A7479C; } goto L_08A7477C; } L_08A7477C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(51)); aot_gpr_31 = (0x08A7478Cu); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A7478Cu) goto L_08A7478C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7478C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(51))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_5)); goto L_08A7479C; L_08A7479C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(194))); if (aot_gpr_4 == ctx.gpr[17]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); goto L_08A747D8; } goto L_08A747A8; L_08A747A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 + static_cast(12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(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(ctx.gpr[23] + static_cast(0))); goto L_08A747D8; } goto L_08A747C8; L_08A747C8: aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); goto L_08A747D8; L_08A747D8: aot_fpr_13 = ctx.fpr[20] - aot_fpr_22; aot_gpr_4 = (16243u << 16u); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 13107u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(76))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_fpr_22 = aot_fpr_22 + aot_fpr_14; if (branch_taken) { goto L_08A74870; } goto L_08A74800; } L_08A74800: aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 2u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_fpr_22 = ctx.fpr[20] - aot_fpr_22; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(76))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_22)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_08A7483C; } goto L_08A7483C; L_08A7483C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A74870; } goto L_08A74844; } L_08A74844: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[26])); { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(76))); if (branch_taken) { goto L_08A74870; } goto L_08A74850; } L_08A74850: { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); if (branch_taken) { goto L_08A7486C; } goto L_08A74858; } L_08A74858: aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(0), std::bit_cast(aot_fpr_22)); goto L_08A7486C; L_08A7486C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(76))); goto L_08A74870; L_08A74870: { const bool branch_taken = ctx.gpr[22] != 0u; aot_gpr_4 = (18060u << 16u); if (branch_taken) { goto L_08A748EC; } goto L_08A74878; } L_08A74878: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(55))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_4 = (18060u << 16u); if (branch_taken) { goto L_08A748EC; } goto L_08A74884; } L_08A74884: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (17995u << 16u); if (branch_taken) { goto L_08A7489C; } goto L_08A74894; } L_08A74894: { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (0u | 22050u); if (branch_taken) { goto L_08A74944; } goto L_08A7489C; } L_08A7489C: aot_gpr_4 = (aot_gpr_4 | 8192u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_22; 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_gpr_4 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = aot_fpr_13 - aot_fpr_14; goto L_08A748D0; } goto L_08A748C0; L_08A748C0: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[22] = (std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(14000)); if (branch_taken) { goto L_08A748E4; } goto L_08A748D0; } L_08A748D0: aot_gpr_4 = (32768u << 16u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.gpr[22] = (aot_gpr_5 + aot_gpr_4); ctx.gpr[22] = (ctx.gpr[22] + static_cast(14000)); goto L_08A748E4; L_08A748E4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A74944; } goto L_08A748EC; } L_08A748EC: aot_gpr_4 = (aot_gpr_4 | 40960u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_22; 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_gpr_4 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = aot_fpr_13 - aot_fpr_14; goto L_08A74920; } goto L_08A74910; L_08A74910: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(14000)); if (branch_taken) { goto L_08A74934; } goto L_08A74920; } L_08A74920: aot_gpr_4 = (32768u << 16u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(14000)); goto L_08A74934; L_08A74934: aot_gpr_5 = (0u + static_cast(1200)); { const std::int64_t product = static_cast(static_cast(ctx.gpr[22])) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } ctx.gpr[22] = (ctx.lo); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); goto L_08A74944; L_08A74944: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A74980; } goto L_08A74954; } L_08A74954: aot_fpr_13 = aot_fpr_22 / ctx.fpr[28]; aot_gpr_4 = (16752u << 16u); aot_gpr_5 = (17076u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_gpr_5); { 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_13 = aot_fpr_13 + ctx.fpr[15]; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_08A7499C; } goto L_08A74980; } L_08A74980: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 105u); if (branch_taken) { goto L_08A7499C; } goto L_08A74988; } L_08A74988: aot_gpr_5 = (16916u << 16u); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (0u | 90u); ctx.fpr[30] = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(76))); goto L_08A7499C; L_08A7499C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(54))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A74A14; } goto L_08A749A8; } L_08A749A8: aot_gpr_4 = (17096u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_22; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (17669u << 16u); aot_gpr_4 = (aot_gpr_4 | 8192u); ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_22; 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_gpr_4 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_08A749F4; } goto L_08A749E4; } L_08A749E4: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[22] = (std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(4270)); if (branch_taken) { goto L_08A74A0C; } goto L_08A749F4; } L_08A749F4: aot_fpr_13 = aot_fpr_13 - aot_fpr_14; aot_gpr_5 = (32768u << 16u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.gpr[22] = (aot_gpr_6 + aot_gpr_5); ctx.gpr[22] = (ctx.gpr[22] + static_cast(4270)); goto L_08A74A0C; L_08A74A0C: aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(52), aot_gpr_5); goto L_08A74A14; L_08A74A14: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A74A28u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74A28u) goto L_08A74A28; AOT_REGCACHE_SYNC_OUT(); return; L_08A74A28: aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(72), static_cast(ctx.gpr[2])); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08A74CDC; } goto L_08A74A38; } L_08A74A38: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(54))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A74C10; } goto L_08A74A44; } L_08A74A44: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_gpr_6 = (15523u << 16u); aot_gpr_6 = (aot_gpr_6 | 55050u); ctx.gpr[17] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_6); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (0u | 2u); if (branch_taken) { goto L_08A74A7C; } goto L_08A74A6C; } L_08A74A6C: 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); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08A74A7C; L_08A74A7C: ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(648))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4)); if (branch_taken) { goto L_08A74AB0; } goto L_08A74A90; } L_08A74A90: 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(52)); aot_gpr_31 = (0x08A74AA0u); 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 == 0x08A74AA0u) goto L_08A74AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A74AA0: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(52))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_5)); goto L_08A74AB0; L_08A74AB0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(194))); { const bool branch_taken = aot_gpr_4 != aot_gpr_16; if (branch_taken) { goto L_08A74B4C; } goto L_08A74ABC; } L_08A74ABC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_5 = (2232u << 16u); if (branch_taken) { goto L_08A74B38; } goto L_08A74ACC; } L_08A74ACC: aot_gpr_4 = (ctx.gpr[18] << 3u); aot_gpr_5 = (aot_gpr_5 + static_cast(8432)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (17948u << 16u); aot_gpr_5 = (aot_gpr_5 | 16384u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } aot_gpr_5 = (20224u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_4); if (branch_taken) { goto L_08A74B14; } goto L_08A74B04; } L_08A74B04: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_22)); ctx.gpr[22] = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(22050)); if (branch_taken) { goto L_08A74B2C; } goto L_08A74B14; } L_08A74B14: aot_fpr_12 = aot_fpr_22 - aot_fpr_12; aot_gpr_4 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.gpr[22] = (aot_gpr_5 + aot_gpr_4); ctx.gpr[22] = (ctx.gpr[22] + static_cast(22050)); goto L_08A74B2C; L_08A74B2C: aot_gpr_4 = (0u | 52u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(52), aot_gpr_4); if (branch_taken) { goto L_08A74C10; } goto L_08A74B38; } L_08A74B38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(644))); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(52), aot_gpr_5); if (branch_taken) { goto L_08A74C10; } goto L_08A74B4C; } L_08A74B4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(184))); goto L_08A74B84; } goto L_08A74B60; L_08A74B60: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(53)); aot_gpr_31 = (0x08A74B70u); aot_gpr_4 = (ctx.gpr[20] | 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 == 0x08A74B70u) goto L_08A74B70; AOT_REGCACHE_SYNC_OUT(); return; L_08A74B70: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(53))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_5)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(184))); goto L_08A74B84; L_08A74B84: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_6 = (17948u << 16u); if (branch_taken) { goto L_08A74C00; } goto L_08A74B94; } L_08A74B94: aot_gpr_6 = (aot_gpr_6 | 16384u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (2232u << 16u); { const float fs = aot_fpr_22; 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_gpr_4 = (ctx.gpr[18] << 3u); aot_gpr_5 = (aot_gpr_5 + static_cast(8432)); 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_5 = (20224u << 16u); aot_fpr_22 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_4); if (branch_taken) { goto L_08A74BDC; } goto L_08A74BCC; } L_08A74BCC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[22] = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(22050)); if (branch_taken) { goto L_08A74BF4; } goto L_08A74BDC; } L_08A74BDC: aot_fpr_12 = aot_fpr_12 - aot_fpr_22; aot_gpr_4 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.gpr[22] = (aot_gpr_5 + aot_gpr_4); ctx.gpr[22] = (ctx.gpr[22] + static_cast(22050)); goto L_08A74BF4; L_08A74BF4: aot_gpr_4 = (0u | 52u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(52), aot_gpr_4); if (branch_taken) { goto L_08A74C10; } goto L_08A74C00; } L_08A74C00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(644))); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(52), aot_gpr_5); goto L_08A74C10; L_08A74C10: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(54))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(48))); if (branch_taken) { goto L_08A74C50; } goto L_08A74C1C; } L_08A74C1C: aot_gpr_5 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (0u | 100u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (0u | 87u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (ctx.gpr[22] + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(68), aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (0u | 87u); if (branch_taken) { goto L_08A74C7C; } goto L_08A74C50; } L_08A74C50: aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (0u | 1000u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (ctx.gpr[22] + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(68), aot_gpr_4); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(56))); goto L_08A74C7C; L_08A74C7C: aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(64), aot_gpr_4); aot_gpr_4 = (0u | 73u); { const bool branch_taken = ctx.gpr[22] == aot_gpr_4; aot_gpr_4 = (0u | 100u); if (branch_taken) { goto L_08A74C9C; } goto L_08A74C94; } L_08A74C94: { const bool branch_taken = ctx.gpr[22] != aot_gpr_4; if (branch_taken) { goto L_08A74CA8; } goto L_08A74C9C; } L_08A74C9C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(68))); aot_gpr_4 = (aot_gpr_4 >> 1u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(68), aot_gpr_4); goto L_08A74CA8; L_08A74CA8: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(80), 0u); aot_gpr_4 = (16576u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(88), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(116), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A74CDCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74CDCu) goto L_08A74CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A74CDC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A74CE8; } goto L_08A74CE4; } L_08A74CE4: ctx.gpr[2] = (0u | 0u); goto L_08A74CE8; L_08A74CE8: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(56), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.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]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A74D30: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(0u); aot_gpr_6 = (17608u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_22)); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[19]); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_16 = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[18]); { const std::uint32_t aot_run_words[6]{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(56), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A752F4; } goto L_08A74D98; } L_08A74D98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; ctx.gpr[22] = (0u | 1u); if (branch_taken) { goto L_08A74DB4; } goto L_08A74DA4; } L_08A74DA4: { const bool branch_taken = static_cast(aot_gpr_4) >= 0; if (branch_taken) { goto L_08A74DC8; } goto L_08A74DAC; } L_08A74DAC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[22] | 0u); if (branch_taken) { goto L_08A752F8; } goto L_08A74DB4; } L_08A74DB4: aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A74DAC; } goto L_08A74DC0; } L_08A74DC0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A74E44; } goto L_08A74DC8; } L_08A74DC8: ctx.gpr[17] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); goto L_08A74DD4; L_08A74DD4: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A74E08; } goto L_08A74DE4; L_08A74DE4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A74DF4u); aot_gpr_6 = (ctx.gpr[21] | 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 == 0x08A74DF4u) goto L_08A74DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A74DF4: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A74E08; L_08A74E08: aot_gpr_6 = (ctx.gpr[17] & 255u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A74E28; } goto L_08A74E20; } L_08A74E20: aot_gpr_16 = (aot_gpr_16 + static_cast(1)); aot_gpr_16 = (aot_gpr_16 & 255u); goto L_08A74E28; L_08A74E28: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_5 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08A74DD4; } goto L_08A74E38; } L_08A74E38: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(376))); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (0u | 4u); if (branch_taken) { goto L_08A74EBC; } goto L_08A74E44; } L_08A74E44: ctx.gpr[17] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(17)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); goto L_08A74E50; L_08A74E50: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A74E84; } goto L_08A74E60; L_08A74E60: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A74E70u); aot_gpr_6 = (ctx.gpr[21] | 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 == 0x08A74E70u) goto L_08A74E70; AOT_REGCACHE_SYNC_OUT(); return; L_08A74E70: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A74E84; L_08A74E84: aot_gpr_6 = (ctx.gpr[17] & 255u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A74EA4; } goto L_08A74E9C; } L_08A74E9C: aot_gpr_16 = (aot_gpr_16 + static_cast(1)); aot_gpr_16 = (aot_gpr_16 & 255u); goto L_08A74EA4; L_08A74EA4: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_5 = (static_cast(ctx.gpr[17]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08A74E50; } goto L_08A74EB4; } L_08A74EB4: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(376))); ctx.gpr[20] = (0u | 2u); goto L_08A74EBC; L_08A74EBC: { const bool branch_taken = static_cast(aot_gpr_16) <= 0; if (branch_taken) { goto L_08A752EC; } goto L_08A74EC4; } L_08A74EC4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(ctx.gpr[20])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_5 = (ctx.gpr[18] + static_cast(4)); aot_gpr_31 = (0x08A74ED8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74ED8u) goto L_08A74ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08A74ED8: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[30] = (0u | 70u); if (branch_taken) { goto L_08A75078; } goto L_08A74EE8; } L_08A74EE8: ctx.gpr[23] = (0u | 52u); ctx.gpr[22] = (0u | 1u); ctx.gpr[21] = (0u | 3u); ctx.gpr[20] = (0u | 2u); goto L_08A74EF8; L_08A74EF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A74F28; } goto L_08A74F0C; } L_08A74F0C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(18)); aot_gpr_31 = (0x08A74F1Cu); aot_gpr_4 = (aot_gpr_16 | 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 == 0x08A74F1Cu) goto L_08A74F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A74F1C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); goto L_08A74F28; L_08A74F28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); { const bool branch_taken = aot_gpr_16 != 0u; if (branch_taken) { goto L_08A74F48; } goto L_08A74F40; } L_08A74F40: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A75060; } goto L_08A74F48; } L_08A74F48: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_gpr_6 = (0u | 82u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(92)))))); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; if (branch_taken) { goto L_08A74F74; } goto L_08A74F5C; } L_08A74F5C: { const bool branch_taken = aot_gpr_4 == ctx.gpr[30]; if (branch_taken) { goto L_08A74FD0; } goto L_08A74F64; } L_08A74F64: { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; if (branch_taken) { goto L_08A7502C; } goto L_08A74F6C; } L_08A74F6C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A7504C; } goto L_08A74F74; } L_08A74F74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); { const bool branch_taken = ctx.gpr[17] == ctx.gpr[22]; aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); if (branch_taken) { goto L_08A74F88; } goto L_08A74F80; } L_08A74F80: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[21]; if (branch_taken) { goto L_08A74FAC; } goto L_08A74F88; } L_08A74F88: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A74FA4u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 720u, 0x08A73E24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74FA4u) goto L_08A74FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A74FA4: { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_08A74FC8; } goto L_08A74FAC; } L_08A74FAC: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A74FC4u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08A7400C; L_08A74FC4: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08A74FC8; L_08A74FC8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A7504C; } goto L_08A74FD0; } L_08A74FD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); { const bool branch_taken = ctx.gpr[17] == 0u; aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); if (branch_taken) { goto L_08A74FE4; } goto L_08A74FDC; } L_08A74FDC: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[20]; if (branch_taken) { goto L_08A75008; } goto L_08A74FE4; } L_08A74FE4: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A75000u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 720u, 0x08A73E24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75000u) goto L_08A75000; AOT_REGCACHE_SYNC_OUT(); return; L_08A75000: { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_08A75024; } goto L_08A75008; } L_08A75008: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A75020u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08A7400C; L_08A75020: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08A75024; L_08A75024: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A7504C; } goto L_08A7502C; } L_08A7502C: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A75048u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 720u, 0x08A73E24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75048u) goto L_08A75048; AOT_REGCACHE_SYNC_OUT(); return; L_08A75048: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08A7504C; L_08A7504C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A75060; } goto L_08A7505C; } L_08A7505C: ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_22)); goto L_08A75060; L_08A75060: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(20))); ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A74EF8; } goto L_08A75078; } L_08A75078: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[22] = (0u | 1u); if (branch_taken) { goto L_08A752EC; } goto L_08A75088; } L_08A75088: aot_gpr_4 = (16988u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (16928u << 16u); { 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_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08A750B8u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A750B8u) goto L_08A750B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A750B8: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(72), static_cast(ctx.gpr[2])); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_16 = (0u | 3u); if (branch_taken) { goto L_08A752EC; } goto L_08A750C8; } L_08A750C8: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (20224u << 16u); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; aot_fpr_22 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08A75104; } goto L_08A750E4; } L_08A750E4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(19)); aot_gpr_31 = (0x08A750F4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A750F4u) goto L_08A750F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A750F4: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); goto L_08A75104; L_08A75104: aot_gpr_4 = (aot_gpr_4 + static_cast(304)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(28))); aot_gpr_4 = (aot_gpr_4 + static_cast(-2)); aot_gpr_5 = (aot_gpr_4 < static_cast(32) ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (17820u << 16u); goto L_08A75238; } goto L_08A7511C; L_08A7511C: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(8624))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A75134: aot_gpr_4 = (17995u << 16u); aot_gpr_4 = (aot_gpr_4 | 8192u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (18184u << 16u); { 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; } aot_gpr_5 = (aot_gpr_5 | 47104u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (0u | 290u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), aot_gpr_4); ctx.fpr[24] = ctx.fpr[24] + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(72))); if (branch_taken) { goto L_08A75178; } goto L_08A7516C; } L_08A7516C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[24])); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A7518C; } goto L_08A75178; } L_08A75178: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; aot_gpr_5 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); goto L_08A7518C; L_08A7518C: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(68), aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(72), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(72))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A751BC; } goto L_08A751A4; } L_08A751A4: aot_gpr_4 = (16448u << 16u); aot_gpr_6 = (2237u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u | 8u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(-28320)); if (branch_taken) { goto L_08A752BC; } goto L_08A751BC; } L_08A751BC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[22] | 0u); if (branch_taken) { goto L_08A752F8; } goto L_08A751C4; } L_08A751C4: aot_gpr_4 = (17723u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (17820u << 16u); { 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; } aot_gpr_5 = (aot_gpr_5 | 16384u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (0u | 213u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), aot_gpr_4); aot_gpr_4 = (16448u << 16u); ctx.fpr[24] = ctx.fpr[24] + aot_fpr_13; aot_gpr_6 = (2237u << 16u); aot_gpr_5 = (0u | 8u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_6 = (aot_gpr_6 + static_cast(-28320)); if (branch_taken) { goto L_08A75218; } goto L_08A7520C; } L_08A7520C: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[24])); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08A7522C; } goto L_08A75218; } L_08A75218: aot_fpr_13 = ctx.fpr[24] - aot_fpr_22; aot_gpr_4 = (32768u << 16u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); goto L_08A7522C; L_08A7522C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_08A752BC; } goto L_08A75234; } L_08A75234: aot_gpr_4 = (17820u << 16u); goto L_08A75238; L_08A75238: aot_gpr_4 = (aot_gpr_4 | 16384u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (17963u << 16u); { 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; } aot_gpr_5 = (aot_gpr_5 | 57344u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (0u | 313u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), aot_gpr_4); aot_gpr_4 = (16448u << 16u); ctx.fpr[24] = ctx.fpr[24] + aot_fpr_13; aot_gpr_6 = (2237u << 16u); aot_gpr_5 = (0u | 8u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_6 = (aot_gpr_6 + static_cast(-28320)); if (branch_taken) { goto L_08A75288; } goto L_08A7527C; } L_08A7527C: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[24])); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08A7529C; } goto L_08A75288; } L_08A75288: aot_fpr_13 = ctx.fpr[24] - aot_fpr_22; aot_gpr_4 = (32768u << 16u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); goto L_08A7529C; L_08A7529C: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(68), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[7] = (0u | 6u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[7]; if (branch_taken) { goto L_08A752BC; } goto L_08A752B0; } L_08A752B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(68))); aot_gpr_4 = (aot_gpr_4 + static_cast(2000)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(68), aot_gpr_4); goto L_08A752BC; L_08A752BC: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(64), aot_gpr_5); { const std::uint32_t aot_run_words[3]{0u, std::bit_cast(aot_fpr_12), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(80), aot_run_words); } aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(92), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(116), aot_gpr_16); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(113), static_cast(0u)); aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08A752ECu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A752ECu) goto L_08A752EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A752EC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[22] | 0u); if (branch_taken) { goto L_08A752F8; } goto L_08A752F4; } L_08A752F4: ctx.gpr[2] = (0u | 0u); goto L_08A752F8; L_08A752F8: { std::uint32_t aot_run_words[14]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; ctx.gpr[21] = aot_run_words[9]; ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; ctx.gpr[30] = aot_run_words[12]; aot_gpr_31 = aot_run_words[13]; } 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_08A75338: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_6 = (17817u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_6 = (aot_gpr_6 | 8192u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[18]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A756A8; } goto L_08A75384; } L_08A75384: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_gpr_5 = (0u | 6u); if (branch_taken) { goto L_08A753A0; } goto L_08A75390; } L_08A75390: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08A75498; } goto L_08A75398; } L_08A75398: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A753B0; } goto L_08A753A0; } L_08A753A0: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A75424; } goto L_08A753A8; } L_08A753A8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A75498; } goto L_08A753B0; } L_08A753B0: ctx.gpr[19] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(24)); goto L_08A753B8; L_08A753B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A753EC; } goto L_08A753CC; L_08A753CC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A753DCu); aot_gpr_6 = (ctx.gpr[21] | 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 == 0x08A753DCu) goto L_08A753DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A753DC: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A753EC; L_08A753EC: aot_gpr_5 = (ctx.gpr[19] & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(209))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A7540C; } goto L_08A75404; } L_08A75404: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[18] = (ctx.gpr[18] & 255u); goto L_08A7540C; L_08A7540C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A753B8; } goto L_08A7541C; } L_08A7541C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (branch_taken) { goto L_08A754A0; } goto L_08A75424; } L_08A75424: ctx.gpr[19] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(25)); goto L_08A7542C; L_08A7542C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A75460; } goto L_08A75440; L_08A75440: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A75450u); aot_gpr_6 = (ctx.gpr[21] | 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 == 0x08A75450u) goto L_08A75450; AOT_REGCACHE_SYNC_OUT(); return; L_08A75450: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A75460; L_08A75460: aot_gpr_5 = (ctx.gpr[19] & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(209))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A75480; } goto L_08A75478; } L_08A75478: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[18] = (ctx.gpr[18] & 255u); goto L_08A75480; L_08A75480: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A7542C; } goto L_08A75490; } L_08A75490: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (branch_taken) { goto L_08A754A0; } goto L_08A75498; } L_08A75498: ctx.gpr[18] = (0u | 4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); goto L_08A754A0; L_08A754A0: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A756A0; } goto L_08A754A8; } L_08A754A8: { const bool branch_taken = static_cast(ctx.gpr[18]) <= 0; if (branch_taken) { goto L_08A756A0; } goto L_08A754B0; } L_08A754B0: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[20]) & 0x7FFFFFFFu); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A756A0; } goto L_08A754CC; } L_08A754CC: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x08A754E0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A754E0u) goto L_08A754E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A754E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); ctx.fpr[20] = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = ctx.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; } aot_fpr_13 = aot_fpr_22 / aot_fpr_13; aot_gpr_4 = (16256u << 16u); aot_gpr_5 = (17036u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_22 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08A7551C; } goto L_08A7551C; L_08A7551C: aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { 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)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_gpr_4 = (aot_gpr_16 | 0u); ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.gpr[18] = (std::bit_cast(ctx.fpr[15])); ctx.gpr[18] = (ctx.gpr[18] & 255u); aot_gpr_31 = (0x08A75548u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75548u) goto L_08A75548; AOT_REGCACHE_SYNC_OUT(); return; L_08A75548: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08A756A0; } goto L_08A75558; } L_08A75558: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(304)); if (branch_taken) { goto L_08A755A4; } goto L_08A75580; } L_08A75580: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(26)); aot_gpr_31 = (0x08A75590u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75590u) goto L_08A75590; AOT_REGCACHE_SYNC_OUT(); return; L_08A75590: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); goto L_08A755A4; L_08A755A4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(28))); aot_gpr_5 = (0u | 19u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (0u + static_cast(6050)); if (branch_taken) { goto L_08A755E4; } goto L_08A755B4; } L_08A755B4: { const std::int64_t product = static_cast(static_cast(ctx.gpr[18])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (0u | 30u); aot_gpr_5 = (ctx.lo); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 25u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (ctx.lo); aot_gpr_4 = (aot_gpr_4 + static_cast(16000)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_08A7566C; } goto L_08A755E4; } L_08A755E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_fpr_12 = aot_fpr_12 / aot_fpr_22; aot_gpr_4 = (0u | 296u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); aot_gpr_5 = (0u | 296u); aot_gpr_31 = (0x08A75604u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75604u) goto L_08A75604; AOT_REGCACHE_SYNC_OUT(); return; L_08A75604: aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[2]); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_gpr_5 = (20224u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (aot_gpr_4 >> 2u); { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; aot_fpr_13 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08A75630; } goto L_08A75624; } L_08A75624: aot_gpr_5 = (20352u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; goto L_08A75630; L_08A75630: { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = ctx.fpr[20] - aot_fpr_13; goto L_08A75654; } goto L_08A75644; L_08A75644: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[20])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); if (branch_taken) { goto L_08A75668; } goto L_08A75654; } L_08A75654: aot_gpr_5 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); goto L_08A75668; L_08A75668: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); goto L_08A7566C; L_08A7566C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_gpr_4 = (16576u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A756A0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A756A0u) goto L_08A756A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A756A0: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A756AC; } goto L_08A756A8; } L_08A756A8: ctx.gpr[2] = (0u | 0u); goto L_08A756AC; L_08A756AC: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; 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(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_08A756D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_6 = (17505u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A75A9C; } goto L_08A75718; } L_08A75718: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_gpr_5 = (0u | 6u); if (branch_taken) { goto L_08A75744; } goto L_08A75724; } L_08A75724: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08A75764; } goto L_08A7572C; } L_08A7572C: ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A7576C; } goto L_08A7573C; } L_08A7573C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A75830; } goto L_08A75744; } L_08A75744: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A75764; } goto L_08A7574C; } L_08A7574C: ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A75848; } goto L_08A7575C; } L_08A7575C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A7590C; } goto L_08A75764; } L_08A75764: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A75AA0; } goto L_08A7576C; } L_08A7576C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); goto L_08A757A0; } goto L_08A75780; L_08A75780: 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(24)); aot_gpr_31 = (0x08A75790u); 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 == 0x08A75790u) goto L_08A75790; AOT_REGCACHE_SYNC_OUT(); return; L_08A75790: 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(24))); 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_08A757A0; L_08A757A0: aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A7581C; } goto L_08A757B8; } L_08A757B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); goto L_08A757EC; } goto L_08A757CC; L_08A757CC: 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(25)); aot_gpr_31 = (0x08A757DCu); 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 == 0x08A757DCu) goto L_08A757DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A757DC: 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(25))); 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_08A757EC; L_08A757EC: aot_gpr_5 = (ctx.gpr[20] & 255u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(209))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); 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_08A7581C; } goto L_08A75814; } L_08A75814: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_08A75830; } goto L_08A7581C; } L_08A7581C: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); ctx.gpr[20] = (ctx.gpr[20] & 255u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A7576C; } goto L_08A75830; } L_08A75830: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A75840; } goto L_08A75838; } L_08A75838: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A75924; } goto L_08A75840; } L_08A75840: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A75AA0; } goto L_08A75848; } L_08A75848: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A7587C; } goto L_08A7585C; L_08A7585C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(26)); aot_gpr_31 = (0x08A7586Cu); aot_gpr_4 = (ctx.gpr[20] | 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 == 0x08A7586Cu) goto L_08A7586C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7586C: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A7587C; L_08A7587C: aot_gpr_5 = (ctx.gpr[19] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A758F8; } goto L_08A75894; } L_08A75894: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A758C8; } goto L_08A758A8; L_08A758A8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(27)); aot_gpr_31 = (0x08A758B8u); aot_gpr_4 = (ctx.gpr[20] | 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 == 0x08A758B8u) goto L_08A758B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A758B8: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(27))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A758C8; L_08A758C8: aot_gpr_5 = (ctx.gpr[19] & 255u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(209))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); 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_08A758F8; } goto L_08A758F0; } L_08A758F0: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_08A7590C; } goto L_08A758F8; } L_08A758F8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); ctx.gpr[19] = (ctx.gpr[19] & 255u); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A75848; } goto L_08A7590C; } L_08A7590C: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A7591C; } goto L_08A75914; } L_08A75914: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A75924; } goto L_08A7591C; } L_08A7591C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A75AA0; } goto L_08A75924; } L_08A75924: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13) & 0x7FFFFFFFu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fpr[20] = ctx.fpr[20] / aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08A75960; } goto L_08A75960; L_08A75960: aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A75A94; } goto L_08A7597C; } L_08A7597C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x08A7598Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7598Cu) goto L_08A7598C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7598C: aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.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_gpr_5 = (16880u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A759B8u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A759B8u) goto L_08A759B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A759B8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_4 = (0u | 95u); if (branch_taken) { goto L_08A75A94; } goto L_08A759C8; } L_08A759C8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_5 = (17835u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 5u); aot_gpr_5 = (aot_gpr_5 | 57344u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (0u | 338u); { const float fs = ctx.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_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (17835u << 16u); if (branch_taken) { goto L_08A75A28; } goto L_08A75A0C; } L_08A75A0C: aot_gpr_4 = (17835u << 16u); aot_gpr_4 = (aot_gpr_4 | 57344u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.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_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A75A50; } goto L_08A75A28; } L_08A75A28: aot_gpr_4 = (aot_gpr_4 | 57344u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.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_gpr_4 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (32768u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08A75A50; L_08A75A50: aot_gpr_4 = (aot_gpr_4 + static_cast(8000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (16384u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16880u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_31 = (0x08A75A94u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75A94u) goto L_08A75A94; AOT_REGCACHE_SYNC_OUT(); return; L_08A75A94: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A75AA0; } goto L_08A75A9C; } L_08A75A9C: ctx.gpr[2] = (0u | 0u); goto L_08A75AA0; L_08A75AA0: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); ctx.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]; ctx.gpr[20] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } 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_08A75AC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_6 = (17981u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_6 = (aot_gpr_6 | 4096u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_22)); { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A75D70; } goto L_08A75B10; } L_08A75B10: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (0u | 1u); if (branch_taken) { goto L_08A75B40; } goto L_08A75B24; } L_08A75B24: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08A75B34u); aot_gpr_4 = (ctx.gpr[18] | 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 == 0x08A75B34u) goto L_08A75B34; AOT_REGCACHE_SYNC_OUT(); return; L_08A75B34: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_08A75B40; L_08A75B40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(176))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A75D68; } goto L_08A75B50; } L_08A75B50: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x08A75B60u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75B60u) goto L_08A75B60; AOT_REGCACHE_SYNC_OUT(); return; L_08A75B60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (17116u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (0u | 80u); if (branch_taken) { goto L_08A75B98; } goto L_08A75B7C; } L_08A75B7C: 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(17)); aot_gpr_31 = (0x08A75B8Cu); 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 == 0x08A75B8Cu) goto L_08A75B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A75B8C: 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(17))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); goto L_08A75B98; L_08A75B98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(204)))))); aot_gpr_4 = (aot_gpr_4 & 8u); 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_08A75BB8; } goto L_08A75BB4; } L_08A75BB4: ctx.gpr[18] = (0u | 20u); goto L_08A75BB8; L_08A75BB8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A75BCCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75BCCu) goto L_08A75BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A75BCC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_08A75BF8; } goto L_08A75BE8; } L_08A75BE8: 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); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08A75BF8; L_08A75BF8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08A75D68; } goto L_08A75C04; } L_08A75C04: ctx.gpr[19] = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A75C18u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 565u, 0x08A731B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75C18u) goto L_08A75C18; AOT_REGCACHE_SYNC_OUT(); return; L_08A75C18: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08A75D1C; } goto L_08A75C20; } L_08A75C20: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (0u | 4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); aot_gpr_5 = (aot_gpr_5 >> 4u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; if (branch_taken) { goto L_08A75C5C; } goto L_08A75C3C; } L_08A75C3C: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(352))); aot_fpr_22 = std::bit_cast(0u); ctx.gpr[22] = (2237u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(-28320)); if (branch_taken) { goto L_08A75C64; } goto L_08A75C54; } L_08A75C54: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); if (branch_taken) { goto L_08A75C84; } goto L_08A75C5C; } L_08A75C5C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08A75D74; } goto L_08A75C64; } L_08A75C64: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(18)); aot_gpr_31 = (0x08A75C74u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x08A75C74u) goto L_08A75C74; AOT_REGCACHE_SYNC_OUT(); return; L_08A75C74: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); goto L_08A75C84; L_08A75C84: aot_gpr_4 = (aot_gpr_4 + static_cast(195)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); if (branch_taken) { goto L_08A75CE8; } goto L_08A75C94; } L_08A75C94: aot_gpr_4 = (0u | 24u); { const bool branch_taken = ctx.gpr[21] == aot_gpr_4; aot_gpr_4 = (0u | 74u); if (branch_taken) { goto L_08A75CE8; } goto L_08A75CA0; } L_08A75CA0: { const bool branch_taken = ctx.gpr[21] == aot_gpr_4; if (branch_taken) { goto L_08A75CE8; } goto L_08A75CA8; } L_08A75CA8: aot_gpr_4 = (0u | 310u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A75CCC; } goto L_08A75CC0; } L_08A75CC0: aot_gpr_4 = (0u | 12668u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_08A75CDC; } goto L_08A75CCC; } L_08A75CCC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); aot_gpr_31 = (0x08A75CD8u); aot_gpr_5 = (0u | 310u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75CD8u) goto L_08A75CD8; AOT_REGCACHE_SYNC_OUT(); return; L_08A75CD8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); goto L_08A75CDC; L_08A75CDC: aot_gpr_4 = (0u | 60u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); if (branch_taken) { goto L_08A75D38; } goto L_08A75CE8; } L_08A75CE8: aot_gpr_4 = (0u | 34u); { const bool branch_taken = ctx.gpr[21] != aot_gpr_4; if (branch_taken) { goto L_08A75D08; } goto L_08A75CF4; } L_08A75CF4: aot_gpr_4 = (0u | 280u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (0u | 11440u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_08A75D38; } goto L_08A75D08; } L_08A75D08: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(660))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(664))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_08A75D38; } goto L_08A75D1C; } L_08A75D1C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(652))); aot_fpr_22 = std::bit_cast(0u); ctx.gpr[22] = (2237u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(656))); ctx.gpr[22] = (ctx.gpr[22] + static_cast(-28320)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); goto L_08A75D38; L_08A75D38: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[20]); { const std::uint32_t aot_run_words[3]{0u, std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(80), aot_run_words); } aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[19]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08A75D68u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75D68u) goto L_08A75D68; AOT_REGCACHE_SYNC_OUT(); return; L_08A75D68: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08A75D74; } goto L_08A75D70; } L_08A75D70: ctx.gpr[2] = (0u | 0u); goto L_08A75D74; L_08A75D74: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; 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]; ctx.gpr[22] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } 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_08A75DA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); ctx.gpr[7] = (2237u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-28736)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(100))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_6 ^ ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A75E40; } goto L_08A75DF0; } L_08A75DF0: aot_gpr_4 = (0u + static_cast(-1)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(0u)); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_12), 0u, 0u, 0u, std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_gpr_4 = (aot_gpr_4 < static_cast(17) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_08A75E64; } goto L_08A75E24; } L_08A75E24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(8752))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A75E40: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A761EC; } goto L_08A75E48; } L_08A75E48: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_08A75E6C; } goto L_08A75E5C; } L_08A75E5C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A75E7C; } goto L_08A75E64; } L_08A75E64: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A761EC; } goto L_08A75E6C; } L_08A75E6C: 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); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08A75E7C; L_08A75E7C: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (ctx.gpr[17] + static_cast(96)); { 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_store8(aot_gpr_29 + static_cast(20), static_cast(0u)); aot_gpr_31 = (0x08A75E9Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 494u, 0x088CA7B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75E9Cu) goto L_08A75E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A75E9C: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[0]), aot_gpr_16, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 + static_cast(-170)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_4); { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_08A75EC4; } goto L_08A75EBC; } L_08A75EBC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); if (branch_taken) { goto L_08A75EC8; } goto L_08A75EC4; } L_08A75EC4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), 0u); goto L_08A75EC8; L_08A75EC8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_4 = (aot_gpr_4 + static_cast(-170)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); goto L_08A75F08; } goto L_08A75EE8; L_08A75EE8: 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(44)); aot_gpr_31 = (0x08A75EF8u); 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 == 0x08A75EF8u) goto L_08A75EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A75EF8: 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(44))); 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_08A75F08; L_08A75F08: aot_gpr_4 = (aot_gpr_4 + 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); } 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08A75F40u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 597u, 0x089F71F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75F40u) goto L_08A75F40; AOT_REGCACHE_SYNC_OUT(); return; L_08A75F40: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A75F50u); 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 == 0x08A75F50u) goto L_08A75F50; AOT_REGCACHE_SYNC_OUT(); return; L_08A75F50: if (ctx.gpr[2] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); goto L_08A75F60; } goto L_08A75F58; L_08A75F58: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (branch_taken) { goto L_08A760C4; } goto L_08A75F60; } L_08A75F60: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08A75F78u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 71u, 0x08AA4980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75F78u) goto L_08A75F78; AOT_REGCACHE_SYNC_OUT(); return; L_08A75F78: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A75F88u); 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 == 0x08A75F88u) goto L_08A75F88; AOT_REGCACHE_SYNC_OUT(); return; L_08A75F88: if (ctx.gpr[2] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); goto L_08A75F9C; } goto L_08A75F90; L_08A75F90: aot_gpr_4 = (0u | 6u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08A760C4; } goto L_08A75F9C; } L_08A75F9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08A75FB4u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 741u, 0x0886BB34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75FB4u) goto L_08A75FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A75FB4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A75FC4u); 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 == 0x08A75FC4u) goto L_08A75FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A75FC4: if (ctx.gpr[2] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); goto L_08A75FD8; } goto L_08A75FCC; L_08A75FCC: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08A760C4; } goto L_08A75FD8; } L_08A75FD8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08A75FF0u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 847u, 0x08B1BC2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75FF0u) goto L_08A75FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A75FF0: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A76000u); 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 == 0x08A76000u) goto L_08A76000; AOT_REGCACHE_SYNC_OUT(); return; L_08A76000: if (ctx.gpr[2] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); goto L_08A76014; } goto L_08A76008; L_08A76008: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08A760C4; } goto L_08A76014; } L_08A76014: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08A7602Cu); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 508u, 0x0881AF4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7602Cu) goto L_08A7602C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7602C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A7603Cu); 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 == 0x08A7603Cu) goto L_08A7603C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7603C: if (ctx.gpr[2] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); goto L_08A76050; } goto L_08A76044; L_08A76044: aot_gpr_4 = (0u | 5u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08A760C4; } goto L_08A76050; } L_08A76050: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08A76068u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 243u, 0x08825BB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76068u) goto L_08A76068; AOT_REGCACHE_SYNC_OUT(); return; L_08A76068: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A76078u); 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 == 0x08A76078u) goto L_08A76078; AOT_REGCACHE_SYNC_OUT(); return; L_08A76078: if (ctx.gpr[2] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); goto L_08A7608C; } goto L_08A76080; L_08A76080: aot_gpr_4 = (0u | 8u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08A760C4; } goto L_08A7608C; } L_08A7608C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08A760A4u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 383u, 0x089CE1DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A760A4u) goto L_08A760A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A760A4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A760B4u); 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 == 0x08A760B4u) goto L_08A760B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A760B4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08A760C4; } goto L_08A760BC; } L_08A760BC: aot_gpr_4 = (0u | 9u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); goto L_08A760C4; L_08A760C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_gpr_5 = (0u | 6u); if (branch_taken) { goto L_08A760E0; } goto L_08A760D0; } L_08A760D0: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08A761EC; } goto L_08A760D8; } L_08A760D8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A76160; } goto L_08A760E0; } L_08A760E0: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A761EC; } goto L_08A760E8; } L_08A760E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08A760F8u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 585u, 0x08A7326Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A760F8u) goto L_08A760F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A760F8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A76104u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75338; L_08A76104: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08A76154; } goto L_08A7610C; } L_08A7610C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A76118u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A74D30; L_08A76118: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A76124u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 679u, 0x08A73AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76124u) goto L_08A76124; AOT_REGCACHE_SYNC_OUT(); return; L_08A76124: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A76130u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75AC4; L_08A76130: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A7613Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 624u, 0x08A735B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7613Cu) goto L_08A7613C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7613C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A76148u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A740E0; L_08A76148: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A76154u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A756D8; L_08A76154: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(372), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A761EC; } goto L_08A76160; } L_08A76160: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08A76170u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 585u, 0x08A7326Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76170u) goto L_08A76170; AOT_REGCACHE_SYNC_OUT(); return; L_08A76170: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A7617Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75338; L_08A7617C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08A761E4; } goto L_08A76184; } L_08A76184: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A76190u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 594u, 0x08A73324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76190u) goto L_08A76190; AOT_REGCACHE_SYNC_OUT(); return; L_08A76190: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A7619Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A74D30; L_08A7619C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A761A8u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A756D8; L_08A761A8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A761B4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 679u, 0x08A73AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A761B4u) goto L_08A761B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A761B4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A761C0u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75AC4; L_08A761C0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A761CCu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A740E0; L_08A761CC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A761D8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 624u, 0x08A735B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A761D8u) goto L_08A761D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A761D8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A761E4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 652u, 0x08A737F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A761E4u) goto L_08A761E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A761E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(372), std::bit_cast(aot_fpr_12)); goto L_08A761EC; L_08A761EC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), 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(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_08A7620C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); aot_gpr_4 = (0u | 28u); aot_gpr_31 = (0x08A76230u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76230u) goto L_08A76230; AOT_REGCACHE_SYNC_OUT(); return; L_08A76230: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); if (branch_taken) { goto L_08A76254; } goto L_08A76240; } L_08A76240: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); aot_gpr_31 = (0x08A7624Cu); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7624Cu) goto L_08A7624C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7624C: aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08A76254; L_08A76254: aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(4), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), 0u); aot_gpr_4 = (ctx.gpr[2] + static_cast(12)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + static_cast(12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(ctx.gpr[2] + static_cast(16), aot_run_words); } aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(28), static_cast(aot_gpr_4)); 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_08A762B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (2237u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10016)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5672))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5668))); { const std::uint32_t aot_run_words[4]{aot_gpr_4, aot_gpr_5, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08A76304u); aot_gpr_4 = (0u | 20u); 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 == 0x08A76304u) goto L_08A76304; AOT_REGCACHE_SYNC_OUT(); return; L_08A76304: ctx.gpr[20] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_08A76324; } goto L_08A76310; } L_08A76310: aot_gpr_5 = (aot_gpr_29 + static_cast(28)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A76320u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 392u, 0x08B6DC90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76320u) goto L_08A76320; AOT_REGCACHE_SYNC_OUT(); return; L_08A76320: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08A76324; L_08A76324: { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); if (branch_taken) { goto L_08A76338; } goto L_08A7632C; } L_08A7632C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); goto L_08A76338; L_08A76338: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A76348u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76348u) goto L_08A76348; AOT_REGCACHE_SYNC_OUT(); return; L_08A76348: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A7636C; } goto L_08A76354; } L_08A76354: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08A7636C; } goto L_08A76364; } L_08A76364: aot_gpr_31 = (0x08A7636Cu); 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_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(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, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7636Cu) goto L_08A7636C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7636C: ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10017)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5664))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5660))); { const std::uint32_t aot_run_words[4]{aot_gpr_4, aot_gpr_5, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08A76394u); aot_gpr_4 = (0u | 20u); 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 == 0x08A76394u) goto L_08A76394; AOT_REGCACHE_SYNC_OUT(); return; L_08A76394: ctx.gpr[20] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; aot_gpr_5 = (aot_gpr_29 + static_cast(44)); if (branch_taken) { goto L_08A763B0; } goto L_08A763A0; } L_08A763A0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A763ACu); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 392u, 0x08B6DC90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A763ACu) goto L_08A763AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A763AC: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08A763B0; L_08A763B0: { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); if (branch_taken) { goto L_08A763C4; } goto L_08A763B8; } L_08A763B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); goto L_08A763C4; L_08A763C4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A763D4u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A763D4u) goto L_08A763D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A763D4: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08A763F8; } goto L_08A763E0; } L_08A763E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08A763F8; } goto L_08A763F0; } L_08A763F0: aot_gpr_31 = (0x08A763F8u); 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_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(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, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A763F8u) goto L_08A763F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A763F8: ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10018)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5656))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5652))); { const std::uint32_t aot_run_words[4]{aot_gpr_4, aot_gpr_5, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08A76420u); aot_gpr_4 = (0u | 20u); 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 == 0x08A76420u) goto L_08A76420; AOT_REGCACHE_SYNC_OUT(); return; L_08A76420: ctx.gpr[20] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; aot_gpr_5 = (aot_gpr_29 + static_cast(60)); if (branch_taken) { goto L_08A7643C; } goto L_08A7642C; } L_08A7642C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A76438u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 392u, 0x08B6DC90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76438u) goto L_08A76438; AOT_REGCACHE_SYNC_OUT(); return; L_08A76438: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08A7643C; L_08A7643C: { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); if (branch_taken) { goto L_08A76450; } goto L_08A76444; } L_08A76444: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); goto L_08A76450; L_08A76450: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A76460u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76460u) goto L_08A76460; AOT_REGCACHE_SYNC_OUT(); return; L_08A76460: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08A76484; } goto L_08A7646C; } L_08A7646C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08A76484; } goto L_08A7647C; } L_08A7647C: aot_gpr_31 = (0x08A76484u); 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_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(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, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76484u) goto L_08A76484; AOT_REGCACHE_SYNC_OUT(); return; L_08A76484: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), 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]; ctx.gpr[21] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } 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_08A764A8: ctx.gpr[2] = (0u | 58u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[2])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[2]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10016))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[2])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[1])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); ctx.gpr[2] = (aot_gpr_4 + static_cast(5)); aot_mem.aot_direct_store_word_left(ctx.gpr[2] + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(ctx.gpr[2] + static_cast(0), aot_gpr_5); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); ctx.gpr[3] = (ctx.gpr[2] + static_cast(4)); aot_mem.aot_direct_store_word_left(ctx.gpr[3] + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(ctx.gpr[3] + static_cast(0), aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_gpr_5 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (ctx.gpr[2] + static_cast(8)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_gpr_6 = (aot_gpr_4 + static_cast(17)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); ctx.gpr[2] = (aot_gpr_6 + static_cast(4)); aot_mem.aot_direct_store_word_left(ctx.gpr[2] + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(ctx.gpr[2] + static_cast(0), aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); aot_gpr_5 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 + static_cast(8)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_gpr_6 = (aot_gpr_4 + static_cast(29)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); ctx.gpr[7] = (aot_gpr_6 + static_cast(4)); aot_mem.aot_direct_store_word_left(ctx.gpr[7] + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(ctx.gpr[7] + static_cast(0), aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); aot_gpr_5 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 + static_cast(8)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_4 + static_cast(41)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(45), ctx.gpr[9]); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(48), ctx.gpr[9]); ctx.gpr[1] = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(49), ctx.gpr[1]); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(52), ctx.gpr[1]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(53), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(54), ctx.gpr[11]); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(57), ctx.gpr[11]); jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 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_08A765B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), 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(160), aot_run_words); } ctx.gpr[2] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[21] = (ctx.gpr[10] & 255u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_16 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[19] = (aot_gpr_29 + static_cast(44)); ctx.gpr[20] = (2237u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28736)); ctx.gpr[30] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[2]); ctx.gpr[23] = (ctx.gpr[9] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[7]); ctx.gpr[22] = (ctx.gpr[11] | 0u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); { const bool branch_taken = aot_gpr_6 == 0u; aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08A76694; } goto L_08A76660; } L_08A76660: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(144), static_cast(0u)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08A76668; L_08A76668: ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_16) ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_08A76688; } goto L_08A76678; L_08A76678: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (aot_gpr_5 + static_cast(8)); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08A7668C; } goto L_08A76688; } L_08A76688: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08A7668C; L_08A7668C: if (aot_gpr_6 != 0u) { ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08A76668; } goto L_08A76694; L_08A76694: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 ^ aot_gpr_4); 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; aot_gpr_4 = (ctx.gpr[17] + static_cast(12)); if (branch_taken) { goto L_08A766D0; } goto L_08A766B0; } L_08A766B0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(108), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_5 + static_cast(20)); if (branch_taken) { goto L_08A7671C; } goto L_08A766D0; } L_08A766D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(140), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(140))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(132), static_cast(aot_gpr_4)); aot_gpr_6 = (aot_gpr_29 + static_cast(120)); aot_gpr_4 = (ctx.gpr[17] + static_cast(4)); aot_gpr_5 = (aot_gpr_29 + static_cast(116)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_6); aot_gpr_6 = (aot_gpr_29 + static_cast(148)); aot_gpr_31 = (0x08A7670Cu); ctx.gpr[7] = (aot_gpr_29 + static_cast(124)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 444u, 0x08B6E0F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7670Cu) goto L_08A7670C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7670C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_4 = (aot_gpr_5 + static_cast(20)); goto L_08A7671C; L_08A7671C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (aot_gpr_16 & 65535u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); ctx.gpr[8] = (ctx.gpr[30] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[9] = (ctx.gpr[23] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[10] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A76758u); ctx.gpr[11] = (ctx.gpr[22] | 0u); goto L_08A764A8; L_08A76758: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; if (branch_taken) { goto L_08A7678C; } goto L_08A76768; } L_08A76768: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(102), static_cast(0u)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(102)))))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A76784u); ctx.gpr[8] = (0u | 1u); goto L_08A76DCC; L_08A76784: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A7679C; } goto L_08A7678C; } L_08A7678C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A7679Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); 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 == 0x08A7679Cu) goto L_08A7679C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7679C: ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(160), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; 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]; ctx.gpr[22] = aot_run_words[8]; ctx.gpr[23] = aot_run_words[9]; ctx.gpr[30] = aot_run_words[10]; aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(208)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A767D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); { const std::uint32_t aot_run_words[6]{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(52), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[18] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); goto L_08A76848; } goto L_08A7680C; L_08A7680C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(32), static_cast(0u)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08A76818; L_08A76818: ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { aot_gpr_4 = (aot_gpr_4 + static_cast(12)); goto L_08A76838; } goto L_08A76828; L_08A76828: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] + static_cast(8)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (branch_taken) { goto L_08A7683C; } goto L_08A76838; } L_08A76838: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08A7683C; L_08A7683C: if (aot_gpr_4 != 0u) { ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08A76818; } goto L_08A76844; L_08A76844: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); goto L_08A76848; L_08A76848: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_6 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (aot_gpr_6 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); goto L_08A76898; } goto L_08A7685C; L_08A7685C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(33), static_cast(0u)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08A76868; L_08A76868: ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[7]) ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] == 0u) { aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_08A76888; } goto L_08A76878; L_08A76878: aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_6 = (aot_gpr_4 + static_cast(8)); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08A7688C; } goto L_08A76888; } L_08A76888: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08A7688C; L_08A7688C: if (aot_gpr_6 != 0u) { ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08A76868; } goto L_08A76894; L_08A76894: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); goto L_08A76898; L_08A76898: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_4); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); if (branch_taken) { goto L_08A768F0; } goto L_08A768C4; } L_08A768C4: aot_gpr_31 = (0x08A768CCu); aot_gpr_4 = (aot_gpr_5 | 0u); 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 == 0x08A768CCu) goto L_08A768CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A768CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_4); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08A768C4; } goto L_08A768EC; } L_08A768EC: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08A768F0; L_08A768F0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); 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(36), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 ^ aot_gpr_4); 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] = (aot_gpr_29 + static_cast(4)); if (branch_taken) { goto L_08A76990; } goto L_08A76924; } L_08A76924: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 ^ aot_gpr_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(ctx.gpr[18] + static_cast(0))); goto L_08A76994; } goto L_08A76944; L_08A76944: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A76A14; } goto L_08A76950; } L_08A76950: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08A76964u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 422u, 0x08B6DF1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76964u) goto L_08A76964; AOT_REGCACHE_SYNC_OUT(); return; L_08A76964: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); if (branch_taken) { goto L_08A76A14; } goto L_08A76990; } L_08A76990: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); goto L_08A76994; L_08A76994: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (aot_gpr_29 + static_cast(44)); if (branch_taken) { goto L_08A76A14; } goto L_08A769AC; } L_08A769AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); aot_gpr_31 = (0x08A769BCu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); 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 == 0x08A769BCu) goto L_08A769BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A769BC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (ctx.gpr[7] + static_cast(4)); aot_gpr_6 = (ctx.gpr[7] + static_cast(8)); aot_gpr_31 = (0x08A769D8u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 484u, 0x08B6AC34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A769D8u) goto L_08A769D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A769D8: aot_gpr_4 = (ctx.gpr[2] | 0u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08A769F0; } goto L_08A769E4; L_08A769E4: aot_gpr_31 = (0x08A769ECu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(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, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A769ECu) goto L_08A769EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A769EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08A769F0; L_08A769F0: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08A769AC; } goto L_08A76A14; } L_08A76A14: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), 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(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_08A76A38: 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(60), aot_run_words); } ctx.gpr[8] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[8] | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(4)); ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08A76AB0; } goto L_08A76A7C; } L_08A76A7C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(52), static_cast(0u)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); goto L_08A76A84; L_08A76A84: ctx.gpr[8] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_4) ? 1u : 0u); ctx.gpr[8] = (ctx.gpr[8] & 255u); if (ctx.gpr[8] != 0u) { ctx.gpr[7] = (ctx.gpr[7] + static_cast(12)); goto L_08A76AA4; } goto L_08A76A94; L_08A76A94: aot_gpr_5 = (ctx.gpr[7] | 0u); ctx.gpr[7] = (aot_gpr_5 + static_cast(8)); { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); if (branch_taken) { goto L_08A76AA8; } goto L_08A76AA4; } L_08A76AA4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); goto L_08A76AA8; L_08A76AA8: if (ctx.gpr[7] != 0u) { ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); goto L_08A76A84; } goto L_08A76AB0; L_08A76AB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_6); aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_6); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_6 = (aot_gpr_16 + static_cast(12)); if (branch_taken) { goto L_08A76AEC; } goto L_08A76ACC; } L_08A76ACC: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_gpr_5 + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 == 0u) { aot_gpr_5 = (aot_gpr_5 + static_cast(20)); goto L_08A76B3C; } goto L_08A76AEC; L_08A76AEC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(40), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(28)); aot_gpr_5 = (aot_gpr_29 + static_cast(24)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(56)); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08A76B28u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 444u, 0x08B6E0F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76B28u) goto L_08A76B28; AOT_REGCACHE_SYNC_OUT(); return; L_08A76B28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); 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(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(20)); goto L_08A76B3C; L_08A76B3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A76B88; } goto L_08A76B50; } L_08A76B50: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10017))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_29 + static_cast(4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(ctx.gpr[1])); aot_gpr_31 = (0x08A76B80u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76B80u) goto L_08A76B80; AOT_REGCACHE_SYNC_OUT(); return; L_08A76B80: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A76B90; } goto L_08A76B88; } L_08A76B88: aot_gpr_31 = (0x08A76B90u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08A770C0; L_08A76B90: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A76B9Cu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08A767D8; L_08A76B9C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), 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_08A76BB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[8] = (aot_gpr_5 + static_cast(4)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); if (ctx.gpr[8] == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); goto L_08A76C10; } goto L_08A76BD8; L_08A76BD8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(44), static_cast(0u)); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(16))); goto L_08A76BE0; L_08A76BE0: ctx.gpr[9] = (static_cast(ctx.gpr[9]) < static_cast(ctx.gpr[7]) ? 1u : 0u); ctx.gpr[9] = (ctx.gpr[9] & 255u); if (ctx.gpr[9] != 0u) { ctx.gpr[8] = (ctx.gpr[8] + static_cast(12)); goto L_08A76C00; } goto L_08A76BF0; L_08A76BF0: aot_gpr_5 = (ctx.gpr[8] | 0u); ctx.gpr[8] = (aot_gpr_5 + static_cast(8)); { const bool branch_taken = 0u == 0u; ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); if (branch_taken) { goto L_08A76C04; } goto L_08A76C00; } L_08A76C00: ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); goto L_08A76C04; L_08A76C04: if (ctx.gpr[8] != 0u) { ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(16))); goto L_08A76BE0; } goto L_08A76C0C; L_08A76C0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); goto L_08A76C10; L_08A76C10: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_6); aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_6); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_6 = (aot_gpr_4 + static_cast(12)); if (branch_taken) { goto L_08A76C48; } goto L_08A76C28; } L_08A76C28: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_gpr_5 + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 == 0u) { aot_gpr_4 = (aot_gpr_5 + static_cast(20)); goto L_08A76C94; } goto L_08A76C48; L_08A76C48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(40), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(32), static_cast(aot_gpr_5)); aot_gpr_6 = (aot_gpr_29 + static_cast(20)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_6); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x08A76C84u); ctx.gpr[7] = (aot_gpr_29 + static_cast(24)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 444u, 0x08B6E0F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76C84u) goto L_08A76C84; AOT_REGCACHE_SYNC_OUT(); return; L_08A76C84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_4 = (aot_gpr_5 + static_cast(20)); goto L_08A76C94; L_08A76C94: aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); 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_08A76CA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { 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(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; if (branch_taken) { goto L_08A76D40; } goto L_08A76CD4; } L_08A76CD4: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[17] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { goto L_08A76D30; } goto L_08A76CE0; } L_08A76CE0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A76CECu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08A7725C; L_08A76CEC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08A76D30; } goto L_08A76CF4; } L_08A76CF4: aot_gpr_31 = (0x08A76CFCu); 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_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(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, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76CFCu) goto L_08A76CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A76CFC: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (ctx.gpr[17] == ctx.gpr[18]) { ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4)); goto L_08A76D28; } goto L_08A76D08; L_08A76D08: { const bool branch_taken = ctx.gpr[18] == ctx.gpr[17]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_08A76D24; } goto L_08A76D10; } L_08A76D10: aot_gpr_6 = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A76D20u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76D20u) goto L_08A76D20; AOT_REGCACHE_SYNC_OUT(); return; L_08A76D20: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); goto L_08A76D24; L_08A76D24: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4)); goto L_08A76D28; L_08A76D28: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[18]); if (branch_taken) { goto L_08A76D38; } goto L_08A76D30; } L_08A76D30: ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); goto L_08A76D38; L_08A76D38: { const bool branch_taken = ctx.gpr[19] != ctx.gpr[18]; if (branch_taken) { goto L_08A76CD4; } goto L_08A76D40; } L_08A76D40: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), 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_08A76D5C: jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(28), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A76D64: 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(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; if (branch_taken) { goto L_08A76DAC; } goto L_08A76D8C; } L_08A76D8C: aot_gpr_31 = (0x08A76D94u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(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, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76D94u) goto L_08A76D94; AOT_REGCACHE_SYNC_OUT(); return; L_08A76D94: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; if (branch_taken) { goto L_08A76D8C; } goto L_08A76DA8; } L_08A76DA8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_08A76DAC; L_08A76DAC: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_5); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), 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_08A76DCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); { const std::uint32_t aot_run_words[6]{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(104), aot_run_words); } ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[7]); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08A76E04u); aot_gpr_4 = (0u | 96u); 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 == 0x08A76E04u) goto L_08A76E04; AOT_REGCACHE_SYNC_OUT(); return; L_08A76E04: ctx.gpr[20] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; aot_gpr_5 = (ctx.gpr[17] & 65535u); if (branch_taken) { goto L_08A76F1C; } goto L_08A76E10; } L_08A76E10: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(6), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[18] + static_cast(5)); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[18] + static_cast(9)); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[18] + static_cast(13)); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); { 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); } ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[18] + static_cast(17)); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[18] + static_cast(21)); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); aot_fpr_13 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[18] + static_cast(25)); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); aot_fpr_14 = std::bit_cast(ctx.gpr[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); } ctx.gpr[8] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (ctx.gpr[18] + static_cast(29)); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[9])); aot_fpr_12 = std::bit_cast(ctx.gpr[9]); aot_gpr_4 = (ctx.gpr[18] + static_cast(33)); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[9])); aot_fpr_13 = std::bit_cast(ctx.gpr[9]); aot_gpr_4 = (ctx.gpr[18] + static_cast(37)); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[9])); aot_fpr_14 = std::bit_cast(ctx.gpr[9]); { 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[9] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (ctx.gpr[18] + static_cast(41)); ctx.gpr[10] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[10])); ctx.gpr[10] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[10])); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(45), ctx.gpr[10])); ctx.gpr[10] = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(48), ctx.gpr[10])); ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(49), ctx.gpr[1])); ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(52), ctx.gpr[1])); aot_fpr_13 = std::bit_cast(ctx.gpr[1]); ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(53))); ctx.gpr[2] = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(54), ctx.gpr[2])); ctx.gpr[2] = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(57), ctx.gpr[2])); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A76F18u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); goto L_08A77168; L_08A76F18: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08A76F1C; L_08A76F1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08A76F48; } goto L_08A76F2C; } L_08A76F2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (aot_gpr_4 != 0u) { aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[19]); goto L_08A76F38; } goto L_08A76F38; L_08A76F38: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); if (branch_taken) { goto L_08A77044; } goto L_08A76F48; } L_08A76F48: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(80), static_cast(0u)); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_6 = (aot_gpr_6 >> 30u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[17] = (aot_gpr_29 + static_cast(88)); if (branch_taken) { goto L_08A76F88; } goto L_08A76F80; } L_08A76F80: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (aot_gpr_29 + static_cast(84)); if (branch_taken) { goto L_08A76F88; } goto L_08A76F88; } L_08A76F88: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[17]); { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08A76FD0; } goto L_08A76F9C; } L_08A76F9C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_31 = (0x08A76FACu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76FACu) goto L_08A76FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A76FAC: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); if (branch_taken) { goto L_08A76FD0; } goto L_08A76FBC; } L_08A76FBC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_4); aot_gpr_31 = (0x08A76FC8u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76FC8u) goto L_08A76FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A76FC8: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); goto L_08A76FD0; L_08A76FD0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; ctx.gpr[18] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A76FF8; } goto L_08A76FDC; } L_08A76FDC: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A76FF0u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76FF0u) goto L_08A76FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A76FF0: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (ctx.gpr[2] + ctx.gpr[20]); if (branch_taken) { goto L_08A76FF8; } goto L_08A76FF8; } L_08A76FF8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); if (aot_gpr_5 == 0u) { ctx.gpr[19] = (aot_gpr_4 | 0u); goto L_08A7701C; } goto L_08A77008; L_08A77008: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_08A77008; } goto L_08A77018; } L_08A77018: ctx.gpr[19] = (aot_gpr_4 | 0u); goto L_08A7701C; L_08A7701C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(92), static_cast(0u)); if (branch_taken) { goto L_08A77030; } goto L_08A77028; } L_08A77028: aot_gpr_31 = (0x08A77030u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(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, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77030u) goto L_08A77030; AOT_REGCACHE_SYNC_OUT(); return; L_08A77030: aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_4}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(16), aot_run_words); } goto L_08A77044; L_08A77044: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(104), 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(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A77064: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(6), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08A77088u); aot_gpr_6 = (ctx.gpr[7] | 0u); goto L_08A770C0; L_08A77088: 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_08A77094: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(6), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x08A770B4u); aot_gpr_5 = (aot_gpr_6 | 0u); goto L_08A76BB4; L_08A770B4: 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_08A770C0: 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(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; if (branch_taken) { goto L_08A77154; } goto L_08A770E4; } L_08A770E4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); { const bool branch_taken = ctx.gpr[8] != aot_gpr_5; if (branch_taken) { goto L_08A77148; } goto L_08A770F4; } L_08A770F4: ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(2))); { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; if (branch_taken) { goto L_08A77148; } goto L_08A77100; } L_08A77100: aot_gpr_31 = (0x08A77108u); aot_gpr_4 = (ctx.gpr[7] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(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, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77108u) goto L_08A77108; AOT_REGCACHE_SYNC_OUT(); return; L_08A77108: aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (aot_gpr_5 == aot_gpr_4) { aot_gpr_4 = (aot_gpr_4 + static_cast(-4)); goto L_08A7713C; } goto L_08A77118; L_08A77118: aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_08A77138; } goto L_08A77124; } L_08A77124: aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); aot_gpr_31 = (0x08A77134u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77134u) goto L_08A77134; AOT_REGCACHE_SYNC_OUT(); return; L_08A77134: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); goto L_08A77138; L_08A77138: aot_gpr_4 = (aot_gpr_4 + static_cast(-4)); goto L_08A7713C; L_08A7713C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A77154; } goto L_08A77148; } L_08A77148: ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; if (branch_taken) { goto L_08A770E4; } goto L_08A77154; } L_08A77154: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), 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_08A77168: 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); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_6)); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); { 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 = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_4 + 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); } { const std::uint32_t vfpu_address = ctx.gpr[9] + 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_4 + 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_4 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (ctx.gpr[10] & 255u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(68), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[10] >> 8u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(69), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[10] >> 16u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(70), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[10] >> 24u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(71), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(76), static_cast(ctx.gpr[11])); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(80), ctx.gpr[2]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_gpr_5 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A7720C; } goto L_08A771FC; } L_08A771FC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x08A77208u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77208u) goto L_08A77208; AOT_REGCACHE_SYNC_OUT(); return; L_08A77208: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), std::bit_cast(ctx.fpr[0])); goto L_08A7720C; L_08A7720C: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A77240; } goto L_08A77224; } L_08A77224: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A77238u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 236u, 0x0887CCD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77238u) goto L_08A77238; AOT_REGCACHE_SYNC_OUT(); return; L_08A77238: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A77248; } goto L_08A77240; } L_08A77240: aot_gpr_31 = (0x08A77248u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 241u, 0x0887CD60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77248u) goto L_08A77248; AOT_REGCACHE_SYNC_OUT(); return; L_08A77248: 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_08A7725C: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[23] = (2237u << 16u); ctx.gpr[23] = (ctx.gpr[23] + static_cast(-28736)); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08A772A4u); aot_gpr_5 = (0u + static_cast(-1)); 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 == 0x08A772A4u) goto L_08A772A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A772A4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3)))))); ctx.gpr[22] = (0u | 1u); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08A772B8u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A772B8u) goto L_08A772B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A772B8: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); ctx.fpr[20] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[20] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_08A77414; } goto L_08A772D4; } L_08A772D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_08A77340; } goto L_08A772E4; } L_08A772E4: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); aot_gpr_5 = (16179u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69))); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(71))); aot_gpr_5 = (17096u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 6u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[11] = (0u | 128u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A77338u); 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_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77338u) goto L_08A77338; AOT_REGCACHE_SYNC_OUT(); return; L_08A77338: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A77394; } goto L_08A77340; } L_08A77340: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; if (branch_taken) { goto L_08A77394; } goto L_08A7734C; } L_08A7734C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_gpr_5 = (16576u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69))); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 8u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 100u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_gpr_31 = (0x08A77394u); 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_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77394u) goto L_08A77394; AOT_REGCACHE_SYNC_OUT(); return; L_08A77394: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A773A0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A773A0u) goto L_08A773A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A773A0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08A77414; } goto L_08A773A8; } L_08A773A8: { 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); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(76))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A77414; } goto L_08A773C8; } L_08A773C8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); aot_gpr_5 = (16460u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69))); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(71))); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 3u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_gpr_31 = (0x08A77414u); 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_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77414u) goto L_08A77414; AOT_REGCACHE_SYNC_OUT(); return; L_08A77414: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); goto L_08A77440; } goto L_08A77420; L_08A77420: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(53)); aot_gpr_31 = (0x08A77430u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x08A77430u) goto L_08A77430; AOT_REGCACHE_SYNC_OUT(); return; L_08A77430: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(53))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); goto L_08A77440; L_08A77440: 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); } { 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_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); 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_08A774F0; } goto L_08A77474; } L_08A77474: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); 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_08A774F0; } goto L_08A77490; } L_08A77490: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08A774B8; } goto L_08A774A4; } L_08A774A4: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_gpr_31 = (0x08A774B0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08A76BB4; L_08A774B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A774E8; } goto L_08A774B8; } L_08A774B8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10018))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(52), static_cast(ctx.gpr[1])); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x08A774E8u); aot_gpr_4 = (ctx.gpr[23] | 0u); 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 == 0x08A774E8u) goto L_08A774E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A774E8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[22] | 0u); if (branch_taken) { goto L_08A774F4; } goto L_08A774F0; } L_08A774F0: ctx.gpr[2] = (0u | 0u); goto L_08A774F4; L_08A774F4: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_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]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A77524: aot_gpr_4 = (0u | 52u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10016), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(-5640)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10016))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_6 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-30144)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 53u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10017), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(-5628)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10017))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 54u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10018), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(-5612)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10018))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08A77584: aot_fpr_13 = std::bit_cast(0u); aot_gpr_6 = (0u | 0u); goto L_08A7758C; L_08A7758C: aot_gpr_5 = (aot_gpr_6 << 2u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(260))); 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_08A775E8; } goto L_08A775A8; } L_08A775A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); 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_08A775DC; } goto L_08A775BC; } L_08A775BC: aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (static_cast(aot_gpr_6) < 32 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(260), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A7758C; } goto L_08A775D4; } L_08A775D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08A775F0; } goto L_08A775DC; } L_08A775DC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(260), std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); if (branch_taken) { goto L_08A775F0; } goto L_08A775E8; } L_08A775E8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); if (branch_taken) { goto L_08A775F0; } goto L_08A775F0; } L_08A775F0: 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_08A775F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8360))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5584))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[28])); ctx.fpr[26] = std::bit_cast(0u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_5 = (16256u << 16u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5580))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; ctx.fpr[24] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08A7778C; } goto L_08A77658; } L_08A77658: aot_gpr_31 = (0x08A77660u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77660u) goto L_08A77660; AOT_REGCACHE_SYNC_OUT(); return; L_08A77660: ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A77670u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77670u) goto L_08A77670; AOT_REGCACHE_SYNC_OUT(); return; L_08A77670: ctx.gpr[19] = (ctx.gpr[3] | 0u); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (std::bit_cast(ctx.fpr[20])); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A7769Cu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7769Cu) goto L_08A7769C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7769C: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5564))); ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5568))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A776B8u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776B8u) goto L_08A776B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A776B8: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A776CCu); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], 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_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776CCu) goto L_08A776CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A776CC: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A776E0u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776E0u) goto L_08A776E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A776E0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A776ECu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776ECu) goto L_08A776EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A776EC: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-5584), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.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_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A77728u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77728u) goto L_08A77728; AOT_REGCACHE_SYNC_OUT(); return; L_08A77728: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A7773Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7773Cu) goto L_08A7773C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7773C: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A77750u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], 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_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77750u) goto L_08A77750; AOT_REGCACHE_SYNC_OUT(); return; L_08A77750: ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A77760u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77760u) goto L_08A77760; AOT_REGCACHE_SYNC_OUT(); return; L_08A77760: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A77774u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], 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_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77774u) goto L_08A77774; AOT_REGCACHE_SYNC_OUT(); return; L_08A77774: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A77780u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77780u) goto L_08A77780; AOT_REGCACHE_SYNC_OUT(); return; L_08A77780: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-5580), std::bit_cast(ctx.fpr[0])); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08A7778C; L_08A7778C: 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_08A777A0; } goto L_08A7779C; } L_08A7779C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-5584), std::bit_cast(ctx.fpr[24])); goto L_08A777A0; L_08A777A0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[28] < ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A777B4; } goto L_08A777B0; } L_08A777B0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-5580), std::bit_cast(ctx.fpr[26])); goto L_08A777B4; L_08A777B4: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (0u | 1u); aot_gpr_16 = (ctx.gpr[28] | 0u); goto L_08A777C0; L_08A777C0: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A777F8; } goto L_08A777C8; } L_08A777C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10024))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08A777F8; } goto L_08A777D4; } L_08A777D4: aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (ctx.gpr[28] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(10024))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); aot_gpr_31 = (0x08A777F0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(716))); goto L_08A77584; L_08A777F0: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); if (branch_taken) { goto L_08A777C0; } goto L_08A777F8; } L_08A777F8: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); 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]; aot_gpr_31 = aot_run_words[11]; } 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_08A77830: ctx.gpr[10] = (0u | 0u); goto L_08A77834; L_08A77834: aot_gpr_4 = (ctx.gpr[10] << 2u); aot_gpr_5 = (ctx.gpr[10] + static_cast(1)); aot_gpr_4 = (ctx.gpr[28] + aot_gpr_4); ctx.gpr[10] = (aot_gpr_5 << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(10024), 0u); ctx.gpr[10] = (static_cast(static_cast(ctx.gpr[10]) >> 16u)); aot_gpr_4 = (static_cast(ctx.gpr[10]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08A77834; } goto L_08A77858; } L_08A77858: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); { 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)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { 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)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[10] = (0u | 0u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[17]; ctx.fpr[16] = std::sqrt(ctx.fpr[16]); ctx.fpr[18] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A778A4; } goto L_08A7789C; } L_08A7789C: aot_fpr_13 = aot_fpr_13 / ctx.fpr[16]; aot_fpr_12 = aot_fpr_12 / ctx.fpr[16]; goto L_08A778A4; L_08A778A4: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(8))); ctx.gpr[7] = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[8] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_08A77A88; } goto L_08A778B8; } L_08A778B8: aot_gpr_5 = (ctx.gpr[7] << 5u); aot_gpr_6 = (0u + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 6u); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (17948u << 16u); aot_gpr_5 = (aot_gpr_5 | 16384u); ctx.fpr[17] = std::bit_cast(aot_gpr_5); aot_gpr_4 = (0u + static_cast(-1)); aot_gpr_5 = (18804u << 16u); aot_gpr_5 = (aot_gpr_5 | 9214u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17096u << 16u); ctx.fpr[19] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (49520u << 16u); ctx.fpr[18] = std::bit_cast(aot_gpr_5); goto L_08A778F4; L_08A778F4: { const bool branch_taken = static_cast(ctx.gpr[7]) < 0; if (branch_taken) { goto L_08A7790C; } goto L_08A778FC; } L_08A778FC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(8))); aot_gpr_5 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(4))); goto L_08A77914; } goto L_08A7790C; L_08A7790C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08A77934; } goto L_08A77914; } L_08A77914: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); if (aot_gpr_5 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(0))); goto L_08A77930; } goto L_08A77928; L_08A77928: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08A77934; } goto L_08A77930; } L_08A77930: aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); goto L_08A77934; L_08A77934: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08A77A74; } goto L_08A7793C; } L_08A7793C: ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(716))); { const bool branch_taken = ctx.gpr[11] == 0u; if (branch_taken) { goto L_08A77A74; } goto L_08A77948; } L_08A77948: ctx.gpr[11] = (aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(0))); { const bool branch_taken = static_cast(ctx.gpr[11]) <= 0; ctx.gpr[11] = (aot_gpr_5 + static_cast(48)); if (branch_taken) { goto L_08A77A74; } goto L_08A77954; } L_08A77954: ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[11] + static_cast(0))); ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[11] + static_cast(4))); ctx.fpr[2] = ctx.fpr[2] - ctx.fpr[15]; ctx.fpr[0] = ctx.fpr[0] - aot_fpr_14; { const float fs = ctx.fpr[2]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast(0x7FC00000u); else ctx.fpr[1] = fs * ft; } { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } ctx.fpr[1] = ctx.fpr[1] + ctx.fpr[3]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[1] <= ctx.fpr[19])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A77A74; } goto L_08A77980; } L_08A77980: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[1] < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A77A74; } goto L_08A77990; } L_08A77990: { const float fs = ctx.fpr[2]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[2] = std::bit_cast(0x7FC00000u); else ctx.fpr[2] = fs * ft; } { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[0] = std::bit_cast(0x7FC00000u); else ctx.fpr[0] = fs * ft; } ctx.fpr[0] = ctx.fpr[2] + ctx.fpr[0]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= ctx.fpr[17])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A77A74; } goto L_08A779AC; } L_08A779AC: ctx.gpr[11] = (static_cast(ctx.gpr[10]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[11] == 0u; if (branch_taken) { goto L_08A779D4; } goto L_08A779B8; } L_08A779B8: ctx.gpr[11] = (ctx.gpr[10] << 2u); ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); ctx.gpr[11] = (ctx.gpr[28] + ctx.gpr[11]); ctx.gpr[10] = (ctx.gpr[10] << 16u); aot_mem.aot_direct_store32(ctx.gpr[11] + static_cast(10024), aot_gpr_5); { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (static_cast(static_cast(ctx.gpr[10]) >> 16u)); if (branch_taken) { goto L_08A77A74; } goto L_08A779D4; } L_08A779D4: ctx.gpr[2] = (aot_gpr_4 | 0u); ctx.fpr[1] = std::bit_cast(std::bit_cast(ctx.fpr[16])); ctx.gpr[11] = (0u | 0u); ctx.gpr[3] = (ctx.gpr[11] << 2u); goto L_08A779E4; L_08A779E4: ctx.gpr[3] = (ctx.gpr[28] + ctx.gpr[3]); ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(10024))); ctx.gpr[12] = (ctx.gpr[3] + static_cast(48)); ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[12] + static_cast(0))); ctx.gpr[3] = (ctx.gpr[3] + static_cast(48)); ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(4))); ctx.fpr[2] = ctx.fpr[2] - ctx.fpr[15]; ctx.fpr[3] = ctx.fpr[3] - aot_fpr_14; { const float fs = ctx.fpr[2]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[2] = std::bit_cast(0x7FC00000u); else ctx.fpr[2] = fs * ft; } { const float fs = ctx.fpr[3]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } ctx.fpr[2] = ctx.fpr[2] + ctx.fpr[3]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[2] < ctx.fpr[1])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A77A28; } goto L_08A77A20; } L_08A77A20: ctx.fpr[1] = std::bit_cast(std::bit_cast(ctx.fpr[2])); ctx.gpr[2] = (ctx.gpr[11] | 0u); goto L_08A77A28; L_08A77A28: ctx.gpr[11] = (ctx.gpr[11] + static_cast(1)); ctx.gpr[11] = (ctx.gpr[11] << 16u); ctx.gpr[11] = (static_cast(static_cast(ctx.gpr[11]) >> 16u)); ctx.gpr[3] = (static_cast(ctx.gpr[11]) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[3] != 0u; ctx.gpr[3] = (ctx.gpr[11] << 2u); if (branch_taken) { goto L_08A779E4; } goto L_08A77A40; } L_08A77A40: { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; if (branch_taken) { goto L_08A77A74; } goto L_08A77A48; } L_08A77A48: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < ctx.fpr[1])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08A77A68; } goto L_08A77A58; } L_08A77A58: ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); ctx.gpr[11] = (ctx.gpr[11] & 496u); { const bool branch_taken = ctx.gpr[11] != 0u; if (branch_taken) { goto L_08A77A74; } goto L_08A77A68; } L_08A77A68: ctx.gpr[11] = (ctx.gpr[2] << 2u); ctx.gpr[11] = (ctx.gpr[28] + ctx.gpr[11]); aot_mem.aot_direct_store32(ctx.gpr[11] + static_cast(10024), aot_gpr_5); goto L_08A77A74; L_08A77A74: aot_gpr_5 = (ctx.gpr[7] | 0u); ctx.gpr[7] = (ctx.gpr[8] + static_cast(-1)); ctx.gpr[8] = (ctx.gpr[7] | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(-2080)); if (branch_taken) { goto L_08A778F4; } goto L_08A77A88; } L_08A77A88: 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_08A77A90: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5576))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_gpr_5 + static_cast(48)); { 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; } ctx.gpr[8] = (0u | 170u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[8]; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); if (branch_taken) { goto L_08A77AB8; } goto L_08A77AAC; } L_08A77AAC: aot_gpr_6 = (15872u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_6); { 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; } goto L_08A77AB8; L_08A77AB8: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(260))); ctx.fpr[15] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); goto L_08A77AF0; } goto L_08A77AD0; L_08A77AD0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5572))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(260), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A77BF0; } goto L_08A77AF0; } L_08A77AF0: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_14 = aot_fpr_12 - aot_fpr_14; ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16]; { 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_14 = aot_fpr_14 + ctx.fpr[15]; 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_08A77BF0; } goto L_08A77B1C; } L_08A77B1C: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); ctx.gpr[8] = (ctx.gpr[8] & 496u); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); if (branch_taken) { goto L_08A77B44; } goto L_08A77B2C; } L_08A77B2C: aot_gpr_5 = (0u | 31u); ctx.gpr[8] = (static_cast(aot_gpr_6) < 31 ? 1u : 0u); if (ctx.gpr[8] != 0u) { aot_gpr_5 = (aot_gpr_6 | 0u); goto L_08A77B3C; } goto L_08A77B3C; L_08A77B3C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 & 65535u); if (branch_taken) { goto L_08A77B80; } goto L_08A77B44; } L_08A77B44: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(612))); ctx.gpr[8] = (0u | 2u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[8]; if (branch_taken) { goto L_08A77B6C; } goto L_08A77B54; } L_08A77B54: aot_gpr_5 = (0u | 20u); ctx.gpr[8] = (static_cast(aot_gpr_6) < 20 ? 1u : 0u); if (ctx.gpr[8] != 0u) { aot_gpr_5 = (aot_gpr_6 | 0u); goto L_08A77B64; } goto L_08A77B64; L_08A77B64: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 & 65535u); if (branch_taken) { goto L_08A77B80; } goto L_08A77B6C; } L_08A77B6C: aot_gpr_5 = (0u | 15u); ctx.gpr[8] = (static_cast(aot_gpr_6) < 15 ? 1u : 0u); if (ctx.gpr[8] != 0u) { aot_gpr_5 = (aot_gpr_6 | 0u); goto L_08A77B7C; } goto L_08A77B7C; L_08A77B7C: aot_gpr_5 = (aot_gpr_5 & 65535u); goto L_08A77B80; L_08A77B80: { const bool branch_taken = static_cast(aot_gpr_5) <= 0; if (branch_taken) { goto L_08A77BCC; } goto L_08A77B88; } L_08A77B88: aot_gpr_6 = (aot_gpr_5 << 3u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[8] = (aot_gpr_6 + static_cast(-4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); aot_gpr_6 = (aot_gpr_6 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[9] = (aot_gpr_5 << 2u); ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(256))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 & 65535u); { const bool branch_taken = static_cast(aot_gpr_5) > 0; aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(260), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A77B88; } goto L_08A77BC4; } L_08A77BC4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); goto L_08A77BCC; L_08A77BCC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_gpr_5 = (static_cast(aot_gpr_6) < 32 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5572))); { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(260), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A77BF0; } goto L_08A77BE8; } L_08A77BE8: aot_gpr_5 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); goto L_08A77BF0; L_08A77BF0: 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_08A77BF8: aot_gpr_29 = (aot_gpr_29 + static_cast(-400)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), aot_gpr_16); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1384))); aot_gpr_16 = (0u | 1u); { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(324), aot_run_words); } { const std::uint32_t aot_run_words[9]{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(352), aot_run_words); } aot_gpr_31 = (0x08A77C4Cu); aot_gpr_4 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, 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, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77C4Cu) goto L_08A77C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A77C4C: aot_gpr_31 = (0x08A77C54u); goto L_08A77830; L_08A77C54: aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5572))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x08A77C74u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(312), static_cast(aot_gpr_4)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77C74u) goto L_08A77C74; AOT_REGCACHE_SYNC_OUT(); return; L_08A77C74: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(300), ctx.gpr[3]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), ctx.gpr[2]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(196))); 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(184))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(188))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), std::bit_cast(ctx.fpr[15])); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), 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(276), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), std::bit_cast(ctx.fpr[15])); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_gpr_4 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_13)); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (17279u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_12)); aot_fpr_22 = std::bit_cast(0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(64)); ctx.fpr[24] = std::bit_cast(aot_gpr_5); ctx.gpr[20] = (aot_gpr_29 + static_cast(68)); ctx.gpr[19] = (aot_gpr_29 + static_cast(76)); ctx.gpr[18] = (aot_gpr_29 + static_cast(88)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_14)); goto L_08A77D0C; L_08A77D0C: if (aot_gpr_4 == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0157_entry, 157u, 31u, 0x08A783E4u>(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_08A77D14; L_08A77D14: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(312)))))); aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[23] = (ctx.gpr[28] + aot_gpr_4); ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(10024))); { const bool branch_taken = ctx.gpr[23] == 0u; aot_gpr_5 = (ctx.gpr[23] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0157_entry, 157u, 30u, 0x08A783E0u>(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_08A77D2C; } L_08A77D2C: ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(716))); aot_gpr_4 = (aot_gpr_5 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); ctx.gpr[7] = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), std::bit_cast(aot_fpr_13)); aot_gpr_6 = (aot_gpr_6 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (16166u << 16u); aot_gpr_6 = (aot_gpr_6 | 26214u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 278u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } if (branch_taken) { goto L_08A77D94; } goto L_08A77D84; } L_08A77D84: aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } goto L_08A77D94; L_08A77D94: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); aot_gpr_6 = (0u | 233u); if (aot_gpr_4 != aot_gpr_6) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_22)); goto L_08A77DC8; } goto L_08A77DB0; L_08A77DB0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_22)); goto L_08A77DC8; L_08A77DC8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(0))); ctx.gpr[22] = (0u | 1u); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(aot_gpr_4) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_5); goto L_08A77DEC; L_08A77DEC: { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[8] = (0u | 1u); if (branch_taken) { goto L_08A77DFC; } goto L_08A77DF4; } L_08A77DF4: { const bool branch_taken = ctx.gpr[22] != ctx.gpr[8]; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0157_entry, 157u, 29u, 0x08A783C4u>(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_08A77DFC; } L_08A77DFC: aot_gpr_4 = (ctx.gpr[22] << 2u); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(260))); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5572))); aot_gpr_4 = (15938u << 16u); aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; aot_gpr_4 = (aot_gpr_4 | 36700u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16800u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(252), static_cast(ctx.gpr[8])); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); aot_gpr_31 = (0x08A77E40u); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E40u) goto L_08A77E40; AOT_REGCACHE_SYNC_OUT(); return; L_08A77E40: aot_gpr_4 = (ctx.gpr[22] << 2u); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5548))); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5552))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(260))); ctx.gpr[21] = (ctx.gpr[3] | 0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A77E64u); aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E64u) goto L_08A77E64; AOT_REGCACHE_SYNC_OUT(); return; L_08A77E64: ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); ctx.gpr[30] = (ctx.gpr[22] + static_cast(-1)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A77E84u); 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_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], 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_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E84u) goto L_08A77E84; AOT_REGCACHE_SYNC_OUT(); return; L_08A77E84: if (static_cast(ctx.gpr[2]) > 0) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(300))); goto L_08A77E98; } goto L_08A77E8C; L_08A77E8C: ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[18] = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(300))); goto L_08A77E98; L_08A77E98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(296))); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A77EA8u); aot_gpr_6 = (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_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EA8u) goto L_08A77EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A77EA8: aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A77EBCu); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EBCu) goto L_08A77EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A77EBC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A77EC8u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EC8u) goto L_08A77EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A77EC8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5576))); aot_fpr_12 = ctx.fpr[0] / aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[0])); ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A77EEC; } goto L_08A77EE8; } L_08A77EE8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[26])); goto L_08A77EEC; L_08A77EEC: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(0))); ctx.gpr[18] = (aot_gpr_29 + static_cast(88)); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); ctx.gpr[19] = (aot_gpr_29 + static_cast(76)); ctx.gpr[20] = (aot_gpr_29 + static_cast(68)); { const bool branch_taken = ctx.gpr[22] != aot_gpr_4; ctx.gpr[21] = (aot_gpr_29 + static_cast(64)); if (branch_taken) { goto L_08A77F10; } goto L_08A77F08; } L_08A77F08: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(aot_fpr_22)); if (branch_taken) { goto L_08A77F60; } goto L_08A77F10; } L_08A77F10: aot_gpr_4 = (ctx.gpr[22] << 2u); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(260))); aot_gpr_4 = (17430u << 16u); aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = aot_fpr_12 / ctx.fpr[20]; aot_gpr_4 = (17402u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_14)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); goto L_08A77F4C; } goto L_08A77F4C; L_08A77F4C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 <= aot_fpr_14)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); goto L_08A77F5C; } goto L_08A77F5C; L_08A77F5C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(aot_fpr_14)); goto L_08A77F60; L_08A77F60: aot_gpr_4 = (ctx.gpr[30] << 3u); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[22] << 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (ctx.gpr[23] + aot_gpr_5); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[30] << 3u); ctx.fpr[17] = ctx.fpr[17] - aot_fpr_12; aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[22] << 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (ctx.gpr[23] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[17])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[17]; 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 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[16] = ctx.fpr[16] - aot_fpr_12; aot_gpr_4 = (16656u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fpr[15] = ctx.fpr[15] + aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[16])); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0157_entry, 157u, 3u, 0x08A78068u>(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_08A77FD0; } L_08A77FD0: aot_fpr_12 = std::sqrt(ctx.fpr[15]); aot_fpr_13 = ctx.fpr[26] / aot_fpr_12; { const float fs = aot_fpr_13; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_13; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); ctx.fpr[18] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), std::bit_cast(aot_fpr_13)); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(ctx.fpr[18])); aot_gpr_4 = (std::bit_cast(ctx.fpr[18])); ctx.pc = 0x08A78000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0156(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0156_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_156(Runtime &runtime) { runtime.register_generated_unit(156u, 0x08A74000u, 16384u, &recomp_unit_0156, &recomp_unit_0156_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x08A74000u, &recomp_unit_0156, "recomp_unit_0156", kEntryMasks_recomp_unit_0156, 64u); } } // namespace psprecomp