#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_0074[64] = { 0x1140840110220441ull, 0x0000000040001002ull, 0x6C000000048000A8ull, 0x2209110080200901ull, 0x4806000140002A55ull, 0x800004A200000020ull, 0x2420884001900000ull, 0x2040000001000008ull, 0x0084440000400824ull, 0x56042812AAA00020ull, 0x8885008024011025ull, 0x0544202455148520ull, 0x0000500002801540ull, 0x1028100100014054ull, 0x00801006448A4002ull, 0x28552A2540000020ull, 0xA9540820AA880A14ull, 0x8D20884408409450ull, 0x020149A482202024ull, 0x0028240244081400ull, 0x9000DA1010000000ull, 0x00A9128218884548ull, 0x4218104020401400ull, 0x00D0050400002018ull, 0x00020029049B4200ull, 0x1414156D08016D08ull, 0x0231A44440AC9255ull, 0x0000000000028121ull, 0x0000000002902409ull, 0x0000000290240900ull, 0x0000029024090000ull, 0x0092902409000000ull, 0x0880A00000000000ull, 0x0000000000492044ull, 0x4926902204405000ull, 0x1492442C45105604ull, 0x492442C451005249ull, 0x4910944546852491ull, 0x4549244924524912ull, 0x4924524912491094ull, 0x152222A20828C924ull, 0x1084911010808491ull, 0x4248888A88020210ull, 0x0108084248880840ull, 0x222A4511404222A1ull, 0x11404222A0210109ull, 0x0250202109222A45ull, 0x03850440B5081000ull, 0x9082400918500000ull, 0x24A9545000010002ull, 0xA880008540A00A08ull, 0xA5444801000A002Aull, 0x020408A0800A0800ull, 0x68100A00204A5449ull, 0x80B40401420A2681ull, 0x2050010250010516ull, 0x2402042810410208ull, 0x081040288A081624ull, 0x1048082050A89090ull, 0x40A102040024408Aull, 0x0000020012AA8400ull, 0x0000000000000000ull, 0x000002A000000028ull, 0xC510000000000000ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0074[64] = { 1u, 13u, 16u, 25u, 36u, 49u, 55u, 64u, 68u, 76u, 92u, 105u, 122u, 130u, 140u, 151u, 165u, 184u, 200u, 214u, 224u, 233u, 250u, 260u, 269u, 281u, 301u, 322u, 327u, 334u, 341u, 348u, 357u, 361u, 367u, 381u, 400u, 419u, 440u, 461u, 481u, 500u, 514u, 528u, 539u, 557u, 571u, 587u, 601u, 612u, 625u, 638u, 652u, 661u, 677u, 693u, 706u, 717u, 731u, 745u, 757u, 766u, 766u, 771u, }; void recomp_unit_0074_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN // PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,22 gpr_occ=3703 fpr_occ=1101 gpr_total=4515 fpr_total=1384 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_redispatch_rounds = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x0892C000u; entry_id = 0u; if (entry_delta < 16384u && (entry_delta & 3u) == 0u) { const std::uint32_t entry_slot = entry_delta >> 2u; const std::uint32_t entry_group = entry_slot >> 6u; const std::uint64_t entry_mask = kEntryMasks_recomp_unit_0074[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_0074[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_0892C000; case 2u: goto L_0892C018; case 3u: goto L_0892C028; case 4u: goto L_0892C044; case 5u: goto L_0892C054; case 6u: goto L_0892C070; case 7u: goto L_0892C080; case 8u: goto L_0892C0A8; case 9u: goto L_0892C0BC; case 10u: goto L_0892C0D8; case 11u: goto L_0892C0E0; case 12u: goto L_0892C0F0; case 13u: goto L_0892C104; case 14u: goto L_0892C130; case 15u: goto L_0892C178; case 16u: goto L_0892C20C; case 17u: goto L_0892C214; case 18u: goto L_0892C21C; case 19u: goto L_0892C25C; case 20u: goto L_0892C268; case 21u: goto L_0892C2E8; case 22u: goto L_0892C2EC; case 23u: goto L_0892C2F4; case 24u: goto L_0892C2F8; case 25u: goto L_0892C300; case 26u: goto L_0892C320; case 27u: goto L_0892C32C; case 28u: goto L_0892C354; case 29u: goto L_0892C37C; case 30u: goto L_0892C3A0; case 31u: goto L_0892C3B0; case 32u: goto L_0892C3C0; case 33u: goto L_0892C3CC; case 34u: goto L_0892C3E4; case 35u: goto L_0892C3F4; case 36u: goto L_0892C400; case 37u: goto L_0892C408; case 38u: goto L_0892C410; case 39u: goto L_0892C418; case 40u: goto L_0892C424; case 41u: goto L_0892C42C; case 42u: goto L_0892C434; case 43u: goto L_0892C478; case 44u: goto L_0892C480; case 45u: goto L_0892C4C4; case 46u: goto L_0892C4C8; case 47u: goto L_0892C4EC; case 48u: goto L_0892C4F8; case 49u: goto L_0892C514; case 50u: goto L_0892C584; case 51u: goto L_0892C594; case 52u: goto L_0892C59C; case 53u: goto L_0892C5A8; case 54u: goto L_0892C5FC; case 55u: goto L_0892C650; case 56u: goto L_0892C65C; case 57u: goto L_0892C660; case 58u: goto L_0892C698; case 59u: goto L_0892C6AC; case 60u: goto L_0892C6BC; case 61u: goto L_0892C6D4; case 62u: goto L_0892C6E8; case 63u: goto L_0892C6F4; case 64u: goto L_0892C70C; case 65u: goto L_0892C760; case 66u: goto L_0892C7D8; case 67u: goto L_0892C7F4; case 68u: goto L_0892C808; case 69u: goto L_0892C814; case 70u: goto L_0892C82C; case 71u: goto L_0892C858; case 72u: goto L_0892C8A8; case 73u: goto L_0892C8B8; case 74u: goto L_0892C8C8; case 75u: goto L_0892C8DC; case 76u: goto L_0892C914; case 77u: goto L_0892C954; case 78u: goto L_0892C95C; case 79u: goto L_0892C964; case 80u: goto L_0892C96C; case 81u: goto L_0892C974; case 82u: goto L_0892C97C; case 83u: goto L_0892C984; case 84u: goto L_0892C990; case 85u: goto L_0892C9AC; case 86u: goto L_0892C9B4; case 87u: goto L_0892C9C8; case 88u: goto L_0892C9E4; case 89u: goto L_0892C9E8; case 90u: goto L_0892C9F0; case 91u: goto L_0892C9F8; case 92u: goto L_0892CA00; case 93u: goto L_0892CA08; case 94u: goto L_0892CA14; case 95u: goto L_0892CA30; case 96u: goto L_0892CA40; case 97u: goto L_0892CA68; case 98u: goto L_0892CA74; case 99u: goto L_0892CA9C; case 100u: goto L_0892CAC0; case 101u: goto L_0892CAC8; case 102u: goto L_0892CADC; case 103u: goto L_0892CAEC; case 104u: goto L_0892CAFC; case 105u: goto L_0892CB14; case 106u: goto L_0892CB20; case 107u: goto L_0892CB28; case 108u: goto L_0892CB3C; case 109u: goto L_0892CB48; case 110u: goto L_0892CB50; case 111u: goto L_0892CB60; case 112u: goto L_0892CB68; case 113u: goto L_0892CB70; case 114u: goto L_0892CB78; case 115u: goto L_0892CB88; case 116u: goto L_0892CB94; case 117u: goto L_0892CBB4; case 118u: goto L_0892CBC8; case 119u: goto L_0892CBD8; case 120u: goto L_0892CBE0; case 121u: goto L_0892CBE8; case 122u: goto L_0892CC18; case 123u: goto L_0892CC20; case 124u: goto L_0892CC28; case 125u: goto L_0892CC30; case 126u: goto L_0892CC5C; case 127u: goto L_0892CC64; case 128u: goto L_0892CCB0; case 129u: goto L_0892CCB8; case 130u: goto L_0892CD08; case 131u: goto L_0892CD10; case 132u: goto L_0892CD18; case 133u: goto L_0892CD38; case 134u: goto L_0892CD40; case 135u: goto L_0892CD80; case 136u: goto L_0892CDB0; case 137u: goto L_0892CDCC; case 138u: goto L_0892CDD4; case 139u: goto L_0892CDF0; case 140u: goto L_0892CE04; case 141u: goto L_0892CE38; case 142u: goto L_0892CE44; case 143u: goto L_0892CE4C; case 144u: goto L_0892CE5C; case 145u: goto L_0892CE68; case 146u: goto L_0892CE78; case 147u: goto L_0892CE84; case 148u: goto L_0892CE88; case 149u: goto L_0892CEB0; case 150u: goto L_0892CEDC; case 151u: goto L_0892CF14; case 152u: goto L_0892CF78; case 153u: goto L_0892CF80; case 154u: goto L_0892CF88; case 155u: goto L_0892CF94; case 156u: goto L_0892CFA4; case 157u: goto L_0892CFAC; case 158u: goto L_0892CFB4; case 159u: goto L_0892CFC0; case 160u: goto L_0892CFC8; case 161u: goto L_0892CFD0; case 162u: goto L_0892CFD8; case 163u: goto L_0892CFEC; case 164u: goto L_0892CFF4; case 165u: goto L_0892D008; case 166u: goto L_0892D010; case 167u: goto L_0892D024; case 168u: goto L_0892D02C; case 169u: goto L_0892D04C; case 170u: goto L_0892D05C; case 171u: goto L_0892D064; case 172u: goto L_0892D06C; case 173u: goto L_0892D074; case 174u: goto L_0892D07C; case 175u: goto L_0892D094; case 176u: goto L_0892D0AC; case 177u: goto L_0892D0C8; case 178u: goto L_0892D0D0; case 179u: goto L_0892D0D8; case 180u: goto L_0892D0E0; case 181u: goto L_0892D0EC; case 182u: goto L_0892D0F4; case 183u: goto L_0892D0FC; case 184u: goto L_0892D110; case 185u: goto L_0892D118; case 186u: goto L_0892D128; case 187u: goto L_0892D130; case 188u: goto L_0892D13C; case 189u: goto L_0892D158; case 190u: goto L_0892D16C; case 191u: goto L_0892D188; case 192u: goto L_0892D198; case 193u: goto L_0892D1AC; case 194u: goto L_0892D1BC; case 195u: goto L_0892D1D4; case 196u: goto L_0892D1E0; case 197u: goto L_0892D1E8; case 198u: goto L_0892D1EC; case 199u: goto L_0892D1FC; case 200u: goto L_0892D208; case 201u: goto L_0892D214; case 202u: goto L_0892D234; case 203u: goto L_0892D254; case 204u: goto L_0892D264; case 205u: goto L_0892D27C; case 206u: goto L_0892D288; case 207u: goto L_0892D294; case 208u: goto L_0892D29C; case 209u: goto L_0892D2A0; case 210u: goto L_0892D2AC; case 211u: goto L_0892D2B8; case 212u: goto L_0892D2C0; case 213u: goto L_0892D2E4; case 214u: goto L_0892D328; case 215u: goto L_0892D330; case 216u: goto L_0892D34C; case 217u: goto L_0892D368; case 218u: goto L_0892D378; case 219u: goto L_0892D384; case 220u: goto L_0892D3A8; case 221u: goto L_0892D3B4; case 222u: goto L_0892D3CC; case 223u: goto L_0892D3D4; case 224u: goto L_0892D470; case 225u: goto L_0892D490; case 226u: goto L_0892D4A4; case 227u: goto L_0892D4AC; case 228u: goto L_0892D4B0; case 229u: goto L_0892D4B8; case 230u: goto L_0892D4BC; case 231u: goto L_0892D4F0; case 232u: goto L_0892D4FC; case 233u: goto L_0892D50C; case 234u: goto L_0892D518; case 235u: goto L_0892D520; case 236u: goto L_0892D528; case 237u: goto L_0892D538; case 238u: goto L_0892D54C; case 239u: goto L_0892D55C; case 240u: goto L_0892D56C; case 241u: goto L_0892D570; case 242u: goto L_0892D584; case 243u: goto L_0892D59C; case 244u: goto L_0892D5A4; case 245u: goto L_0892D5B0; case 246u: goto L_0892D5C0; case 247u: goto L_0892D5CC; case 248u: goto L_0892D5D4; case 249u: goto L_0892D5DC; case 250u: goto L_0892D628; case 251u: goto L_0892D630; case 252u: goto L_0892D658; case 253u: goto L_0892D674; case 254u: goto L_0892D698; case 255u: goto L_0892D6B0; case 256u: goto L_0892D6CC; case 257u: goto L_0892D6D0; case 258u: goto L_0892D6E4; case 259u: goto L_0892D6F8; case 260u: goto L_0892D70C; case 261u: goto L_0892D710; case 262u: goto L_0892D734; case 263u: goto L_0892D788; case 264u: goto L_0892D7A0; case 265u: goto L_0892D7A8; case 266u: goto L_0892D7D0; case 267u: goto L_0892D7D8; case 268u: goto L_0892D7DC; case 269u: goto L_0892D824; case 270u: goto L_0892D838; case 271u: goto L_0892D840; case 272u: goto L_0892D844; case 273u: goto L_0892D84C; case 274u: goto L_0892D850; case 275u: goto L_0892D85C; case 276u: goto L_0892D868; case 277u: goto L_0892D880; case 278u: goto L_0892D88C; case 279u: goto L_0892D894; case 280u: goto L_0892D8C4; case 281u: goto L_0892D90C; case 282u: goto L_0892D920; case 283u: goto L_0892D928; case 284u: goto L_0892D92C; case 285u: goto L_0892D934; case 286u: goto L_0892D938; case 287u: goto L_0892D940; case 288u: goto L_0892D96C; case 289u: goto L_0892D980; case 290u: goto L_0892D988; case 291u: goto L_0892D98C; case 292u: goto L_0892D994; case 293u: goto L_0892D998; case 294u: goto L_0892D9A0; case 295u: goto L_0892D9A8; case 296u: goto L_0892D9B0; case 297u: goto L_0892D9C8; case 298u: goto L_0892D9D0; case 299u: goto L_0892D9E8; case 300u: goto L_0892D9F0; case 301u: goto L_0892DA00; case 302u: goto L_0892DA08; case 303u: goto L_0892DA10; case 304u: goto L_0892DA18; case 305u: goto L_0892DA24; case 306u: goto L_0892DA30; case 307u: goto L_0892DA3C; case 308u: goto L_0892DA48; case 309u: goto L_0892DA4C; case 310u: goto L_0892DA54; case 311u: goto L_0892DA5C; case 312u: goto L_0892DA78; case 313u: goto L_0892DA88; case 314u: goto L_0892DA98; case 315u: goto L_0892DAA8; case 316u: goto L_0892DAB4; case 317u: goto L_0892DABC; case 318u: goto L_0892DAC0; case 319u: goto L_0892DAD0; case 320u: goto L_0892DAD4; case 321u: goto L_0892DAE4; case 322u: goto L_0892DB00; case 323u: goto L_0892DB14; case 324u: goto L_0892DB20; case 325u: goto L_0892DB3C; case 326u: goto L_0892DB44; case 327u: goto L_0892DC00; case 328u: goto L_0892DC0C; case 329u: goto L_0892DC28; case 330u: goto L_0892DC34; case 331u: goto L_0892DC50; case 332u: goto L_0892DC5C; case 333u: goto L_0892DC64; case 334u: goto L_0892DD20; case 335u: goto L_0892DD2C; case 336u: goto L_0892DD48; case 337u: goto L_0892DD54; case 338u: goto L_0892DD70; case 339u: goto L_0892DD7C; case 340u: goto L_0892DD84; case 341u: goto L_0892DE40; case 342u: goto L_0892DE4C; case 343u: goto L_0892DE68; case 344u: goto L_0892DE74; case 345u: goto L_0892DE90; case 346u: goto L_0892DE9C; case 347u: goto L_0892DEA4; case 348u: goto L_0892DF60; case 349u: goto L_0892DF6C; case 350u: goto L_0892DF88; case 351u: goto L_0892DF94; case 352u: goto L_0892DFB0; case 353u: goto L_0892DFBC; case 354u: goto L_0892DFC4; case 355u: goto L_0892DFD0; case 356u: goto L_0892DFDC; case 357u: goto L_0892E0B4; case 358u: goto L_0892E0BC; case 359u: goto L_0892E0DC; case 360u: goto L_0892E0EC; case 361u: goto L_0892E108; case 362u: goto L_0892E118; case 363u: goto L_0892E134; case 364u: goto L_0892E140; case 365u: goto L_0892E14C; case 366u: goto L_0892E158; case 367u: goto L_0892E230; case 368u: goto L_0892E238; case 369u: goto L_0892E258; case 370u: goto L_0892E268; case 371u: goto L_0892E284; case 372u: goto L_0892E294; case 373u: goto L_0892E2B0; case 374u: goto L_0892E2BC; case 375u: goto L_0892E2C4; case 376u: goto L_0892E2C8; case 377u: goto L_0892E2D4; case 378u: goto L_0892E2E0; case 379u: goto L_0892E2EC; case 380u: goto L_0892E2F8; case 381u: goto L_0892E308; case 382u: goto L_0892E324; case 383u: goto L_0892E328; case 384u: goto L_0892E330; case 385u: goto L_0892E338; case 386u: goto L_0892E350; case 387u: goto L_0892E360; case 388u: goto L_0892E368; case 389u: goto L_0892E378; case 390u: goto L_0892E388; case 391u: goto L_0892E38C; case 392u: goto L_0892E394; case 393u: goto L_0892E3A8; case 394u: goto L_0892E3B8; case 395u: goto L_0892E3C4; case 396u: goto L_0892E3D0; case 397u: goto L_0892E3DC; case 398u: goto L_0892E3E8; case 399u: goto L_0892E3F0; case 400u: goto L_0892E400; case 401u: goto L_0892E40C; case 402u: goto L_0892E418; case 403u: goto L_0892E424; case 404u: goto L_0892E430; case 405u: goto L_0892E438; case 406u: goto L_0892E460; case 407u: goto L_0892E470; case 408u: goto L_0892E478; case 409u: goto L_0892E488; case 410u: goto L_0892E498; case 411u: goto L_0892E49C; case 412u: goto L_0892E4A4; case 413u: goto L_0892E4B8; case 414u: goto L_0892E4C8; case 415u: goto L_0892E4D4; case 416u: goto L_0892E4E0; case 417u: goto L_0892E4EC; case 418u: goto L_0892E4F8; case 419u: goto L_0892E500; case 420u: goto L_0892E510; case 421u: goto L_0892E51C; case 422u: goto L_0892E528; case 423u: goto L_0892E534; case 424u: goto L_0892E540; case 425u: goto L_0892E548; case 426u: goto L_0892E55C; case 427u: goto L_0892E564; case 428u: goto L_0892E568; case 429u: goto L_0892E578; case 430u: goto L_0892E580; case 431u: goto L_0892E588; case 432u: goto L_0892E598; case 433u: goto L_0892E5A8; case 434u: goto L_0892E5B0; case 435u: goto L_0892E5BC; case 436u: goto L_0892E5D0; case 437u: goto L_0892E5E0; case 438u: goto L_0892E5EC; case 439u: goto L_0892E5F8; case 440u: goto L_0892E604; case 441u: goto L_0892E610; case 442u: goto L_0892E620; case 443u: goto L_0892E62C; case 444u: goto L_0892E638; case 445u: goto L_0892E644; case 446u: goto L_0892E650; case 447u: goto L_0892E658; case 448u: goto L_0892E668; case 449u: goto L_0892E674; case 450u: goto L_0892E680; case 451u: goto L_0892E68C; case 452u: goto L_0892E698; case 453u: goto L_0892E6A8; case 454u: goto L_0892E6B4; case 455u: goto L_0892E6C0; case 456u: goto L_0892E6CC; case 457u: goto L_0892E6D8; case 458u: goto L_0892E6E0; case 459u: goto L_0892E6E8; case 460u: goto L_0892E6F8; case 461u: goto L_0892E708; case 462u: goto L_0892E710; case 463u: goto L_0892E71C; case 464u: goto L_0892E730; case 465u: goto L_0892E740; case 466u: goto L_0892E74C; case 467u: goto L_0892E758; case 468u: goto L_0892E764; case 469u: goto L_0892E770; case 470u: goto L_0892E780; case 471u: goto L_0892E78C; case 472u: goto L_0892E798; case 473u: goto L_0892E7A4; case 474u: goto L_0892E7B0; case 475u: goto L_0892E7B8; case 476u: goto L_0892E7C8; case 477u: goto L_0892E7D4; case 478u: goto L_0892E7E0; case 479u: goto L_0892E7EC; case 480u: goto L_0892E7F8; case 481u: goto L_0892E808; case 482u: goto L_0892E814; case 483u: goto L_0892E820; case 484u: goto L_0892E82C; case 485u: goto L_0892E838; case 486u: goto L_0892E83C; case 487u: goto L_0892E84C; case 488u: goto L_0892E854; case 489u: goto L_0892E86C; case 490u: goto L_0892E884; case 491u: goto L_0892E894; case 492u: goto L_0892E89C; case 493u: goto L_0892E8A4; case 494u: goto L_0892E8B4; case 495u: goto L_0892E8C4; case 496u: goto L_0892E8D4; case 497u: goto L_0892E8E0; case 498u: goto L_0892E8E8; case 499u: goto L_0892E8F0; case 500u: goto L_0892E900; case 501u: goto L_0892E910; case 502u: goto L_0892E91C; case 503u: goto L_0892E928; case 504u: goto L_0892E93C; case 505u: goto L_0892E95C; case 506u: goto L_0892E970; case 507u: goto L_0892E990; case 508u: goto L_0892E9A0; case 509u: goto L_0892E9B0; case 510u: goto L_0892E9BC; case 511u: goto L_0892E9C8; case 512u: goto L_0892E9DC; case 513u: goto L_0892E9F0; case 514u: goto L_0892EA10; case 515u: goto L_0892EA24; case 516u: goto L_0892EA44; case 517u: goto L_0892EA6C; case 518u: goto L_0892EA7C; case 519u: goto L_0892EA84; case 520u: goto L_0892EA8C; case 521u: goto L_0892EA9C; case 522u: goto L_0892EAAC; case 523u: goto L_0892EABC; case 524u: goto L_0892EACC; case 525u: goto L_0892EAD8; case 526u: goto L_0892EAE4; case 527u: goto L_0892EAF8; case 528u: goto L_0892EB18; case 529u: goto L_0892EB2C; case 530u: goto L_0892EB4C; case 531u: goto L_0892EB5C; case 532u: goto L_0892EB6C; case 533u: goto L_0892EB78; case 534u: goto L_0892EB84; case 535u: goto L_0892EB98; case 536u: goto L_0892EBAC; case 537u: goto L_0892EBCC; case 538u: goto L_0892EBE0; case 539u: goto L_0892EC00; case 540u: goto L_0892EC14; case 541u: goto L_0892EC1C; case 542u: goto L_0892EC24; case 543u: goto L_0892EC34; case 544u: goto L_0892EC44; case 545u: goto L_0892EC58; case 546u: goto L_0892EC78; case 547u: goto L_0892EC80; case 548u: goto L_0892EC90; case 549u: goto L_0892ECA0; case 550u: goto L_0892ECA8; case 551u: goto L_0892ECB8; case 552u: goto L_0892ECC4; case 553u: goto L_0892ECCC; case 554u: goto L_0892ECD4; case 555u: goto L_0892ECE4; case 556u: goto L_0892ECF4; case 557u: goto L_0892ED00; case 558u: goto L_0892ED0C; case 559u: goto L_0892ED20; case 560u: goto L_0892ED40; case 561u: goto L_0892ED54; case 562u: goto L_0892ED74; case 563u: goto L_0892ED7C; case 564u: goto L_0892ED84; case 565u: goto L_0892ED94; case 566u: goto L_0892EDA4; case 567u: goto L_0892EDB8; case 568u: goto L_0892EDD8; case 569u: goto L_0892EDE0; case 570u: goto L_0892EDF0; case 571u: goto L_0892EE00; case 572u: goto L_0892EE08; case 573u: goto L_0892EE18; case 574u: goto L_0892EE24; case 575u: goto L_0892EE2C; case 576u: goto L_0892EE34; case 577u: goto L_0892EE44; case 578u: goto L_0892EE54; case 579u: goto L_0892EE60; case 580u: goto L_0892EE6C; case 581u: goto L_0892EE80; case 582u: goto L_0892EE94; case 583u: goto L_0892EEB4; case 584u: goto L_0892EED0; case 585u: goto L_0892EED8; case 586u: goto L_0892EEE4; case 587u: goto L_0892EF30; case 588u: goto L_0892EF4C; case 589u: goto L_0892EF60; case 590u: goto L_0892EF68; case 591u: goto L_0892EF70; case 592u: goto L_0892EF74; case 593u: goto L_0892EF7C; case 594u: goto L_0892EF98; case 595u: goto L_0892EFA8; case 596u: goto L_0892EFC0; case 597u: goto L_0892EFC8; case 598u: goto L_0892EFDC; case 599u: goto L_0892EFE0; case 600u: goto L_0892EFE4; case 601u: goto L_0892F050; case 602u: goto L_0892F058; case 603u: goto L_0892F06C; case 604u: goto L_0892F070; case 605u: goto L_0892F080; case 606u: goto L_0892F08C; case 607u: goto L_0892F0B8; case 608u: goto L_0892F0C4; case 609u: goto L_0892F0DC; case 610u: goto L_0892F0F0; case 611u: goto L_0892F0FC; case 612u: goto L_0892F104; case 613u: goto L_0892F140; case 614u: goto L_0892F190; case 615u: goto L_0892F198; case 616u: goto L_0892F1A8; case 617u: goto L_0892F1B0; case 618u: goto L_0892F1B8; case 619u: goto L_0892F1C0; case 620u: goto L_0892F1CC; case 621u: goto L_0892F1D4; case 622u: goto L_0892F1DC; case 623u: goto L_0892F1E8; case 624u: goto L_0892F1F4; case 625u: goto L_0892F20C; case 626u: goto L_0892F224; case 627u: goto L_0892F22C; case 628u: goto L_0892F254; case 629u: goto L_0892F25C; case 630u: goto L_0892F278; case 631u: goto L_0892F280; case 632u: goto L_0892F288; case 633u: goto L_0892F29C; case 634u: goto L_0892F2DC; case 635u: goto L_0892F2EC; case 636u: goto L_0892F2F4; case 637u: goto L_0892F2FC; case 638u: goto L_0892F304; case 639u: goto L_0892F30C; case 640u: goto L_0892F314; case 641u: goto L_0892F344; case 642u: goto L_0892F34C; case 643u: goto L_0892F380; case 644u: goto L_0892F3AC; case 645u: goto L_0892F3B8; case 646u: goto L_0892F3C8; case 647u: goto L_0892F3D8; case 648u: goto L_0892F3E0; case 649u: goto L_0892F3E8; case 650u: goto L_0892F3F4; case 651u: goto L_0892F3FC; case 652u: goto L_0892F42C; case 653u: goto L_0892F444; case 654u: goto L_0892F44C; case 655u: goto L_0892F47C; case 656u: goto L_0892F494; case 657u: goto L_0892F49C; case 658u: goto L_0892F4AC; case 659u: goto L_0892F4C8; case 660u: goto L_0892F4E4; case 661u: goto L_0892F500; case 662u: goto L_0892F50C; case 663u: goto L_0892F518; case 664u: goto L_0892F528; case 665u: goto L_0892F530; case 666u: goto L_0892F538; case 667u: goto L_0892F544; case 668u: goto L_0892F54C; case 669u: goto L_0892F558; case 670u: goto L_0892F574; case 671u: goto L_0892F5A4; case 672u: goto L_0892F5AC; case 673u: goto L_0892F5D0; case 674u: goto L_0892F5EC; case 675u: goto L_0892F5F4; case 676u: goto L_0892F5F8; case 677u: goto L_0892F600; case 678u: goto L_0892F61C; case 679u: goto L_0892F624; case 680u: goto L_0892F628; case 681u: goto L_0892F634; case 682u: goto L_0892F644; case 683u: goto L_0892F64C; case 684u: goto L_0892F664; case 685u: goto L_0892F678; case 686u: goto L_0892F680; case 687u: goto L_0892F6A8; case 688u: goto L_0892F6C8; case 689u: goto L_0892F6D0; case 690u: goto L_0892F6D4; case 691u: goto L_0892F6DC; case 692u: goto L_0892F6FC; case 693u: goto L_0892F704; case 694u: goto L_0892F708; case 695u: goto L_0892F710; case 696u: goto L_0892F720; case 697u: goto L_0892F728; case 698u: goto L_0892F740; case 699u: goto L_0892F770; case 700u: goto L_0892F778; case 701u: goto L_0892F784; case 702u: goto L_0892F7A0; case 703u: goto L_0892F7D0; case 704u: goto L_0892F7D8; case 705u: goto L_0892F7F4; case 706u: goto L_0892F80C; case 707u: goto L_0892F824; case 708u: goto L_0892F840; case 709u: goto L_0892F858; case 710u: goto L_0892F870; case 711u: goto L_0892F88C; case 712u: goto L_0892F894; case 713u: goto L_0892F8A8; case 714u: goto L_0892F8C4; case 715u: goto L_0892F8E8; case 716u: goto L_0892F8F4; case 717u: goto L_0892F908; case 718u: goto L_0892F914; case 719u: goto L_0892F924; case 720u: goto L_0892F928; case 721u: goto L_0892F930; case 722u: goto L_0892F94C; case 723u: goto L_0892F964; case 724u: goto L_0892F96C; case 725u: goto L_0892F97C; case 726u: goto L_0892F98C; case 727u: goto L_0892F994; case 728u: goto L_0892F9B8; case 729u: goto L_0892F9D0; case 730u: goto L_0892F9EC; case 731u: goto L_0892FA10; case 732u: goto L_0892FA1C; case 733u: goto L_0892FA30; case 734u: goto L_0892FA3C; case 735u: goto L_0892FA4C; case 736u: goto L_0892FA54; case 737u: goto L_0892FA5C; case 738u: goto L_0892FA70; case 739u: goto L_0892FA78; case 740u: goto L_0892FA94; case 741u: goto L_0892FAAC; case 742u: goto L_0892FACC; case 743u: goto L_0892FAD8; case 744u: goto L_0892FAF0; case 745u: goto L_0892FB04; case 746u: goto L_0892FB0C; case 747u: goto L_0892FB1C; case 748u: goto L_0892FB38; case 749u: goto L_0892FB48; case 750u: goto L_0892FB54; case 751u: goto L_0892FB88; case 752u: goto L_0892FBA4; case 753u: goto L_0892FBC0; case 754u: goto L_0892FBD4; case 755u: goto L_0892FBDC; case 756u: goto L_0892FBF8; case 757u: goto L_0892FC28; case 758u: goto L_0892FC3C; case 759u: goto L_0892FC44; case 760u: goto L_0892FC4C; case 761u: goto L_0892FC54; case 762u: goto L_0892FC5C; case 763u: goto L_0892FC64; case 764u: goto L_0892FC70; case 765u: goto L_0892FCA4; case 766u: goto L_0892FE0C; case 767u: goto L_0892FE14; case 768u: goto L_0892FE94; case 769u: goto L_0892FE9C; case 770u: goto L_0892FEA4; case 771u: goto L_0892FFD0; case 772u: goto L_0892FFE0; case 773u: goto L_0892FFE8; case 774u: goto L_0892FFF8; case 775u: goto L_0892FFFC; 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_0892C000: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(ctx.gpr[18] + static_cast(48), aot_run_words); } aot_gpr_31 = (0x0892C018u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C018u) goto L_0892C018; AOT_REGCACHE_SYNC_OUT(); return; L_0892C018: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C044; } goto L_0892C028; } L_0892C028: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5452))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5452), aot_gpr_4); goto L_0892C044; L_0892C044: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C070; } goto L_0892C054; } L_0892C054: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5456))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5456), aot_gpr_4); goto L_0892C070; L_0892C070: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 16u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892C0A8; } goto L_0892C080; } L_0892C080: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_4 = (aot_gpr_4 | 16u); ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0892C0A8u); aot_gpr_6 = (0u | 18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C0A8u) goto L_0892C0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C0A8: aot_gpr_6 = (50298u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x0892C0BCu); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 181u, 0x0886D370u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C0BCu) goto L_0892C0BC; AOT_REGCACHE_SYNC_OUT(); return; L_0892C0BC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[18]); aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_31 = (0x0892C0D8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C0D8u) goto L_0892C0D8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C0D8: aot_gpr_31 = (0x0892C0E0u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 84u, 0x0890850Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C0E0u) goto L_0892C0E0; AOT_REGCACHE_SYNC_OUT(); return; L_0892C0E0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C104; } goto L_0892C0F0; } L_0892C0F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_5 = (65528u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_4); goto L_0892C104; L_0892C104: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_5 = (16u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0892C130: aot_gpr_29 = (aot_gpr_29 + static_cast(-432)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_6 = (0u | 43u); { const std::uint32_t aot_run_words[8]{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_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(376), aot_run_words); } { 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(412), aot_run_words); } { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0892C214; } goto L_0892C178; } L_0892C178: aot_gpr_4 = (15800u << 16u); aot_gpr_4 = (aot_gpr_4 | 20972u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); ctx.gpr[17] = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); 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_gpr_5 = (ctx.gpr[18] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (16051u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; 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(ctx.gpr[18] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); 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_0892C21C; } goto L_0892C20C; } L_0892C20C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892C2F4; } goto L_0892C214; } L_0892C214: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892C8DC; } goto L_0892C21C; } L_0892C21C: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (16000u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x0892C25Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C25Cu) goto L_0892C25C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C25C: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892C2EC; } goto L_0892C268; } L_0892C268: aot_gpr_4 = (15897u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x0892C2E8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C2E8u) goto L_0892C2E8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C2E8: aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_0892C2EC; L_0892C2EC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892C2F8; } goto L_0892C2F4; } L_0892C2F4: aot_gpr_4 = (0u | 0u); goto L_0892C2F8; L_0892C2F8: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892C354; } goto L_0892C300; } L_0892C300: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0892C320u); aot_gpr_6 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C320u) goto L_0892C320; AOT_REGCACHE_SYNC_OUT(); return; L_0892C320: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[20] = std::bit_cast(0u); if (branch_taken) { goto L_0892C3B0; } goto L_0892C32C; } L_0892C32C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52428u); 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)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_gpr_4 = (15918u << 16u); aot_gpr_4 = (aot_gpr_4 | 5243u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = ctx.fpr[24] + aot_fpr_14; if (branch_taken) { goto L_0892C3E4; } goto L_0892C354; } L_0892C354: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_4 | 4u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892C37Cu); ctx.gpr[7] = (0u | 41u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C37Cu) goto L_0892C37C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C37C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892C3A0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6248)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C3A0u) goto L_0892C3A0; AOT_REGCACHE_SYNC_OUT(); return; L_0892C3A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 | 8192u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_4); if (branch_taken) { goto L_0892C8DC; } goto L_0892C3B0; } L_0892C3B0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892C3C0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C3C0u) goto L_0892C3C0; AOT_REGCACHE_SYNC_OUT(); return; L_0892C3C0: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C3E4; } goto L_0892C3CC; } L_0892C3CC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (15759u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); 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)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.fpr[24] = ctx.fpr[24] + ctx.fpr[26]; goto L_0892C3E4; L_0892C3E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C400; } goto L_0892C3F4; } L_0892C3F4: aot_gpr_4 = (16352u << 16u); { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0892C408; } goto L_0892C400; } L_0892C400: aot_gpr_4 = (16256u << 16u); aot_fpr_22 = std::bit_cast(aot_gpr_4); goto L_0892C408; L_0892C408: aot_gpr_31 = (0x0892C410u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C410u) goto L_0892C410; AOT_REGCACHE_SYNC_OUT(); return; L_0892C410: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0892C434; } goto L_0892C418; } L_0892C418: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C480; } goto L_0892C424; } L_0892C424: aot_gpr_31 = (0x0892C42Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2192))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C42Cu) goto L_0892C42C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C42C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892C480; } goto L_0892C434; } L_0892C434: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (16648u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_22)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + 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); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), 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 = (0x0892C478u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C478u) goto L_0892C478; AOT_REGCACHE_SYNC_OUT(); return; L_0892C478: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(320))); if (branch_taken) { goto L_0892C4C8; } goto L_0892C480; } L_0892C480: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (16528u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_22)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(128), 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 = (0x0892C4C4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C4C4u) goto L_0892C4C4; AOT_REGCACHE_SYNC_OUT(); return; L_0892C4C4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(320))); goto L_0892C4C8; L_0892C4C8: { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(324))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892C4F8; } goto L_0892C4EC; } L_0892C4EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1300))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); goto L_0892C660; } goto L_0892C4F8; L_0892C4F8: aot_gpr_4 = (ctx.gpr[18] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[19] = (aot_gpr_29 + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1300))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C584; } goto L_0892C514; } L_0892C514: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1300))); aot_gpr_5 = (aot_gpr_4 + static_cast(320)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2256))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); { 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_5 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2256))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); { 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_5 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (aot_gpr_4 + static_cast(320)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0892C650; } goto L_0892C584; } L_0892C584: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_31 = (0x0892C594u); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 124u, 0x08999134u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C594u) goto L_0892C594; AOT_REGCACHE_SYNC_OUT(); return; L_0892C594: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892C5FC; } goto L_0892C59C; } L_0892C59C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2256))); aot_gpr_31 = (0x0892C5A8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 544u, 0x0890675Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C5A8u) goto L_0892C5A8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C5A8: aot_gpr_4 = (std::bit_cast(ctx.fpr[0])); 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); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(ctx.fpr[0])); 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); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892C650; } goto L_0892C5FC; } L_0892C5FC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2256))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2256))); 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_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[24]; 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(164), std::bit_cast(aot_fpr_12)); goto L_0892C650; L_0892C650: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892C65Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C65Cu) goto L_0892C65C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C65C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); goto L_0892C660; L_0892C660: aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_5 = (50298u << 16u); aot_gpr_4 = (aot_gpr_4 | 4096u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(468))); aot_gpr_5 = (1024u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892C6AC; } goto L_0892C698; } L_0892C698: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892C6ACu); ctx.gpr[7] = (0u | 137u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6ACu) goto L_0892C6AC; AOT_REGCACHE_SYNC_OUT(); return; L_0892C6AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 12288u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C8DC; } goto L_0892C6BC; } L_0892C6BC: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } aot_gpr_16 = (aot_gpr_29 + static_cast(192)); aot_gpr_31 = (0x0892C6D4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6D4u) goto L_0892C6D4; AOT_REGCACHE_SYNC_OUT(); return; L_0892C6D4: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(736))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x0892C6E8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6E8u) goto L_0892C6E8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C6E8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0892C6F4u); ctx.gpr[19] = (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_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6F4u) goto L_0892C6F4; AOT_REGCACHE_SYNC_OUT(); return; L_0892C6F4: aot_gpr_4 = (ctx.gpr[19] << 6u); ctx.gpr[7] = (ctx.gpr[2] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892C70Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C70Cu) goto L_0892C70C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C70C: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[17] = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_22)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[19] = (aot_gpr_29 + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892C760u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C760u) goto L_0892C760; AOT_REGCACHE_SYNC_OUT(); return; L_0892C760: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5028))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); aot_gpr_4 = (16005u << 16u); aot_gpr_4 = (aot_gpr_4 | 7864u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); { 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_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); aot_gpr_4 = (15887u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[28]; 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] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (16512u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[11] = (0u | 3000u); aot_gpr_31 = (0x0892C7D8u); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 328u, 0x08A961ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C7D8u) goto L_0892C7D8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C7D8: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(176), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0892C7F4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C7F4u) goto L_0892C7F4; AOT_REGCACHE_SYNC_OUT(); return; L_0892C7F4: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(740))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x0892C808u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C808u) goto L_0892C808; AOT_REGCACHE_SYNC_OUT(); return; L_0892C808: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0892C814u); ctx.gpr[20] = (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_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C814u) goto L_0892C814; AOT_REGCACHE_SYNC_OUT(); return; L_0892C814: ctx.gpr[7] = (ctx.gpr[20] << 6u); ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892C82Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C82Cu) goto L_0892C82C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C82C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_22)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892C858u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C858u) goto L_0892C858; AOT_REGCACHE_SYNC_OUT(); return; L_0892C858: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5028))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); { 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_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(372))); { 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[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_gpr_4 = (0u | 1u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[11] = (0u | 3000u); aot_gpr_31 = (0x0892C8A8u); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 328u, 0x08A961ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C8A8u) goto L_0892C8A8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C8A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1768))); aot_gpr_4 = (aot_gpr_4 < static_cast(41) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892C8C8; } goto L_0892C8B8; } L_0892C8B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1768))); aot_gpr_4 = (aot_gpr_4 + static_cast(-40)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1768), aot_gpr_4); if (branch_taken) { goto L_0892C8DC; } goto L_0892C8C8; } L_0892C8C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(472))); aot_gpr_5 = (0u + static_cast(-12289)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1768), 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(472), aot_gpr_4); goto L_0892C8DC; L_0892C8DC: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(376), 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]; aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(432)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0892C914: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), ctx.gpr[20]); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (ctx.gpr[7] & 65535u); ctx.gpr[19] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_0892C97C; } goto L_0892C954; } L_0892C954: aot_gpr_31 = (0x0892C95Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C95Cu) goto L_0892C95C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C95C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0892C974; } goto L_0892C964; } L_0892C964: { const bool branch_taken = aot_gpr_16 != 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2120), aot_gpr_16); if (branch_taken) { goto L_0892C984; } goto L_0892C96C; } L_0892C96C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892C990; } goto L_0892C974; } L_0892C974: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0892CE88; } goto L_0892C97C; } L_0892C97C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0892CE88; } goto L_0892C984; } L_0892C984: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2120))); aot_gpr_31 = (0x0892C990u); aot_gpr_5 = (ctx.gpr[17] + static_cast(2120)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C990u) goto L_0892C990; AOT_REGCACHE_SYNC_OUT(); return; L_0892C990: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (ctx.gpr[17] + static_cast(1872)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(1920), static_cast(ctx.gpr[20])); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1888), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0892C9ACu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C9ACu) goto L_0892C9AC; AOT_REGCACHE_SYNC_OUT(); return; L_0892C9AC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892C9C8; } goto L_0892C9B4; } L_0892C9B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_0892C9E8; } goto L_0892C9C8; } L_0892C9C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892C9E8; } goto L_0892C9E4; } L_0892C9E4: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), aot_gpr_16); goto L_0892C9E8; L_0892C9E8: aot_gpr_31 = (0x0892C9F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C9F0u) goto L_0892C9F0; AOT_REGCACHE_SYNC_OUT(); return; L_0892C9F0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892CA00; } goto L_0892C9F8; } L_0892C9F8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2196), 0u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(640), 0u); goto L_0892CA00; L_0892CA00: aot_gpr_31 = (0x0892CA08u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 36u, 0x08A08730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CA08u) goto L_0892CA08; AOT_REGCACHE_SYNC_OUT(); return; L_0892CA08: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CA14u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CA14u) goto L_0892CA14; AOT_REGCACHE_SYNC_OUT(); return; L_0892CA14: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[8] = (17530u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(776))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CA30u); ctx.gpr[7] = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CA30u) goto L_0892CA30; AOT_REGCACHE_SYNC_OUT(); return; L_0892CA30: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1676))); aot_gpr_5 = (0u | 48u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892CA68; } goto L_0892CA40; } L_0892CA40: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1676), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1892), aot_gpr_4); goto L_0892CA68; L_0892CA68: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CA74u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CA74u) goto L_0892CA74; AOT_REGCACHE_SYNC_OUT(); return; L_0892CA74: aot_gpr_4 = (ctx.gpr[2] << 5u); aot_gpr_5 = (ctx.gpr[2] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1896), aot_gpr_5); aot_gpr_31 = (0x0892CA9Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CA9Cu) goto L_0892CA9C; AOT_REGCACHE_SYNC_OUT(); return; L_0892CA9C: aot_gpr_4 = (ctx.gpr[2] << 5u); aot_gpr_5 = (ctx.gpr[2] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CAC0u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(1922), static_cast(aot_gpr_5)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CAC0u) goto L_0892CAC0; AOT_REGCACHE_SYNC_OUT(); return; L_0892CAC0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892CB28; } goto L_0892CAC8; } L_0892CAC8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 30000u); aot_gpr_31 = (0x0892CADCu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CADCu) goto L_0892CADC; AOT_REGCACHE_SYNC_OUT(); return; L_0892CADC: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3256), static_cast(ctx.gpr[18])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CAECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 613u, 0x089471E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CAECu) goto L_0892CAEC; AOT_REGCACHE_SYNC_OUT(); return; L_0892CAEC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3262)))))); aot_gpr_4 = (aot_gpr_4 & 32u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892CB3C; } goto L_0892CAFC; } L_0892CAFC: aot_gpr_4 = (2236u << 16u); aot_gpr_5 = (0u | 45u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0892CB14u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 167u, 0x08A1D018u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB14u) goto L_0892CB14; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB14: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CB20u); aot_gpr_5 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB20u) goto L_0892CB20; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB20: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892CB3C; } goto L_0892CB28; } L_0892CB28: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 30000u); aot_gpr_31 = (0x0892CB3Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB3Cu) goto L_0892CB3C; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB3C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CB48u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB48u) goto L_0892CB48; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB48: aot_gpr_31 = (0x0892CB50u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0892CEB0; L_0892CB50: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0892CB60u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 594u, 0x088EB074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB60u) goto L_0892CB60; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB60: aot_gpr_31 = (0x0892CB68u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB68u) goto L_0892CB68; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB68: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892CE84; } goto L_0892CB70; } L_0892CB70: aot_gpr_31 = (0x0892CB78u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB78u) goto L_0892CB78; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB78: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3262)))))); aot_gpr_4 = (aot_gpr_4 & 32u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892CE84; } goto L_0892CB88; } L_0892CB88: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2120))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892CE84; } goto L_0892CB94; } L_0892CB94: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0892CBB4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CBB4u) goto L_0892CBB4; AOT_REGCACHE_SYNC_OUT(); return; L_0892CBB4: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CBC8u); aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 571u, 0x088E3E88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CBC8u) goto L_0892CBC8; AOT_REGCACHE_SYNC_OUT(); return; L_0892CBC8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(1920))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (branch_taken) { goto L_0892CC20; } goto L_0892CBD8; } L_0892CBD8: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_0892CD08; } goto L_0892CBE0; } L_0892CBE0: { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_0892CC64; } goto L_0892CBE8; } L_0892CBE8: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2120))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0892CC18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CC18u) goto L_0892CC18; AOT_REGCACHE_SYNC_OUT(); return; L_0892CC18: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892CD08; } goto L_0892CC20; } L_0892CC20: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { goto L_0892CCB8; } goto L_0892CC28; } L_0892CC28: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892CD08; } goto L_0892CC30; } L_0892CC30: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2120))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0892CC5Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CC5Cu) goto L_0892CC5C; AOT_REGCACHE_SYNC_OUT(); return; L_0892CC5C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892CD08; } goto L_0892CC64; } L_0892CC64: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2120))); aot_gpr_6 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0892CCB0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CCB0u) goto L_0892CCB0; AOT_REGCACHE_SYNC_OUT(); return; L_0892CCB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892CD08; } goto L_0892CCB8; } L_0892CCB8: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2120))); aot_gpr_6 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); { 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_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0892CD08u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CD08u) goto L_0892CD08; AOT_REGCACHE_SYNC_OUT(); return; L_0892CD08: aot_gpr_31 = (0x0892CD10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CD10u) goto L_0892CD10; AOT_REGCACHE_SYNC_OUT(); return; L_0892CD10: aot_gpr_31 = (0x0892CD18u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 6u, 0x08948040u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CD18u) goto L_0892CD18; AOT_REGCACHE_SYNC_OUT(); return; L_0892CD18: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(ctx.gpr[2] + static_cast(48), aot_run_words); } aot_gpr_31 = (0x0892CD38u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CD38u) goto L_0892CD38; AOT_REGCACHE_SYNC_OUT(); return; L_0892CD38: aot_gpr_31 = (0x0892CD40u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 6u, 0x08948040u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CD40u) goto L_0892CD40; AOT_REGCACHE_SYNC_OUT(); return; L_0892CD40: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0892CD80u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 137u, 0x089991D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CD80u) goto L_0892CD80; AOT_REGCACHE_SYNC_OUT(); return; L_0892CD80: aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.fpr[20] = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0892CDB0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 561u, 0x08A8EF1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CDB0u) goto L_0892CDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0892CDB0: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[17] + 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_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0892CDCCu); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 561u, 0x08A8EF1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CDCCu) goto L_0892CDCC; AOT_REGCACHE_SYNC_OUT(); return; L_0892CDCC: aot_gpr_31 = (0x0892CDD4u); aot_fpr_12 = aot_fpr_22 - ctx.fpr[0]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 563u, 0x08A8EF4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CDD4u) goto L_0892CDD4; AOT_REGCACHE_SYNC_OUT(); return; L_0892CDD4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (49884u << 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 = (17116u << 16u); if (branch_taken) { goto L_0892CE04; } goto L_0892CDF0; } L_0892CDF0: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892CE44; } goto L_0892CE04; } L_0892CE04: aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x0892CE38u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CE38u) goto L_0892CE38; AOT_REGCACHE_SYNC_OUT(); return; L_0892CE38: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2256), std::bit_cast(ctx.fpr[0])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2256))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2260), std::bit_cast(aot_fpr_12)); goto L_0892CE44; L_0892CE44: aot_gpr_31 = (0x0892CE4Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CE4Cu) goto L_0892CE4C; AOT_REGCACHE_SYNC_OUT(); return; L_0892CE4C: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2120))); if (aot_gpr_4 == 0u) { aot_fpr_12 = std::bit_cast(0u); goto L_0892CE68; } goto L_0892CE5C; L_0892CE5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2120))); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(48)); if (branch_taken) { goto L_0892CE78; } goto L_0892CE68; } L_0892CE68: aot_gpr_4 = (aot_gpr_29 + static_cast(208)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(208), aot_run_words); } goto L_0892CE78; L_0892CE78: { 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_5 + static_cast(3312)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0892CE84; L_0892CE84: ctx.gpr[2] = (aot_gpr_16 | 0u); goto L_0892CE88; L_0892CE88: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(244), 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]; aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(288)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0892CEB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2120))); { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(228), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0892CF80; } goto L_0892CEDC; } L_0892CEDC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); aot_gpr_31 = (0x0892CF14u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CF14u) goto L_0892CF14; AOT_REGCACHE_SYNC_OUT(); return; L_0892CF14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_16 + static_cast(1872)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); { 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(176))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), 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(72), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(476))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892CF88; } goto L_0892CF78; } L_0892CF78: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D02C; } goto L_0892CF80; } L_0892CF80: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D2C0; } goto L_0892CF88; } L_0892CF88: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); aot_gpr_31 = (0x0892CF94u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CF94u) goto L_0892CF94; AOT_REGCACHE_SYNC_OUT(); return; L_0892CF94: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1920))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (branch_taken) { goto L_0892CFC8; } goto L_0892CFA4; } L_0892CFA4: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_0892D1FC; } goto L_0892CFAC; } L_0892CFAC: { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_0892CFF4; } goto L_0892CFB4; } L_0892CFB4: aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x0892CFC0u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CFC0u) goto L_0892CFC0; AOT_REGCACHE_SYNC_OUT(); return; L_0892CFC0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D1FC; } goto L_0892CFC8; } L_0892CFC8: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { goto L_0892D010; } goto L_0892CFD0; } L_0892CFD0: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892D1FC; } goto L_0892CFD8; } L_0892CFD8: aot_gpr_5 = (49097u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892CFECu); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CFECu) goto L_0892CFEC; AOT_REGCACHE_SYNC_OUT(); return; L_0892CFEC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D1FC; } goto L_0892CFF4; } L_0892CFF4: aot_gpr_5 = (16329u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892D008u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D008u) goto L_0892D008; AOT_REGCACHE_SYNC_OUT(); return; L_0892D008: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D1FC; } goto L_0892D010; } L_0892D010: aot_gpr_5 = (16457u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892D024u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D024u) goto L_0892D024; AOT_REGCACHE_SYNC_OUT(); return; L_0892D024: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D1FC; } goto L_0892D02C; } L_0892D02C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); aot_fpr_22 = std::bit_cast(0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_22)) && aot_fpr_12 == aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); if (branch_taken) { goto L_0892D05C; } goto L_0892D04C; } L_0892D04C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_22)) && aot_fpr_13 == aot_fpr_22)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892D06C; } goto L_0892D05C; } L_0892D05C: aot_gpr_31 = (0x0892D064u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D064u) goto L_0892D064; AOT_REGCACHE_SYNC_OUT(); return; L_0892D064: { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_0892D06C; } goto L_0892D06C; } L_0892D06C: aot_gpr_31 = (0x0892D074u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D074u) goto L_0892D074; AOT_REGCACHE_SYNC_OUT(); return; L_0892D074: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892D0AC; } goto L_0892D07C; } L_0892D07C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0892D094u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D094u) goto L_0892D094; AOT_REGCACHE_SYNC_OUT(); return; L_0892D094: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892D1EC; } goto L_0892D0AC; } L_0892D0AC: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1920))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_5 = (16457u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_gpr_6 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; ctx.fpr[20] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_0892D0E0; } goto L_0892D0C8; } L_0892D0C8: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_0892D128; } goto L_0892D0D0; } L_0892D0D0: { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_0892D0FC; } goto L_0892D0D8; } L_0892D0D8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D128; } goto L_0892D0E0; } L_0892D0E0: aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { goto L_0892D110; } goto L_0892D0EC; } L_0892D0EC: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892D118; } goto L_0892D0F4; } L_0892D0F4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892D128; } goto L_0892D0FC; } L_0892D0FC: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (branch_taken) { goto L_0892D128; } goto L_0892D110; } L_0892D110: { const bool branch_taken = 0u == 0u; aot_fpr_12 = aot_fpr_22 + ctx.fpr[20]; if (branch_taken) { goto L_0892D128; } goto L_0892D118; } L_0892D118: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_22 - aot_fpr_12; goto L_0892D128; L_0892D128: aot_gpr_31 = (0x0892D130u); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D130u) goto L_0892D130; AOT_REGCACHE_SYNC_OUT(); return; L_0892D130: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); aot_gpr_31 = (0x0892D13Cu); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D13Cu) goto L_0892D13C; AOT_REGCACHE_SYNC_OUT(); return; L_0892D13C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(ctx.fpr[0])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892D16C; } goto L_0892D158; } L_0892D158: aot_gpr_4 = (16585u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_fpr_12 = aot_fpr_12 - aot_fpr_13; if (branch_taken) { goto L_0892D198; } goto L_0892D16C; } L_0892D16C: aot_gpr_4 = (49225u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892D198; } goto L_0892D188; } L_0892D188: aot_gpr_4 = (16585u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_0892D198; L_0892D198: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1888))); 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_0892D1BC; } goto L_0892D1AC; } L_0892D1AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1888))); aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0892D1E0; } goto L_0892D1BC; } L_0892D1BC: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1888))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); 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_0892D1E0; } goto L_0892D1D4; } L_0892D1D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1888))); aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_12)); goto L_0892D1E0; L_0892D1E0: aot_gpr_31 = (0x0892D1E8u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D1E8u) goto L_0892D1E8; AOT_REGCACHE_SYNC_OUT(); return; L_0892D1E8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(ctx.fpr[0])); goto L_0892D1EC; L_0892D1EC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892D1FCu); aot_fpr_12 = aot_fpr_12 - aot_fpr_22; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D1FCu) goto L_0892D1FC; AOT_REGCACHE_SYNC_OUT(); return; L_0892D1FC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892D208u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D208u) goto L_0892D208; AOT_REGCACHE_SYNC_OUT(); return; L_0892D208: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892D214u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D214u) goto L_0892D214; AOT_REGCACHE_SYNC_OUT(); return; L_0892D214: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892D254; } goto L_0892D234; } L_0892D234: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); goto L_0892D27C; } goto L_0892D254; L_0892D254: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); aot_gpr_5 = (aot_gpr_5 + static_cast(320)); aot_gpr_31 = (0x0892D264u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D264u) goto L_0892D264; AOT_REGCACHE_SYNC_OUT(); return; L_0892D264: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); 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_16 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); goto L_0892D27C; L_0892D27C: aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_0892D2A0; } goto L_0892D288; L_0892D288: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_0892D2A0; } goto L_0892D294; L_0892D294: aot_gpr_31 = (0x0892D29Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D29Cu) goto L_0892D29C; AOT_REGCACHE_SYNC_OUT(); return; L_0892D29C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_0892D2A0; L_0892D2A0: aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892D2C0; } goto L_0892D2AC; } L_0892D2AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892D2C0; } goto L_0892D2B8; } L_0892D2B8: aot_gpr_31 = (0x0892D2C0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D2C0u) goto L_0892D2C0; AOT_REGCACHE_SYNC_OUT(); return; L_0892D2C0: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(228), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(256)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0892D2E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-752)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(720), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); { 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(696), aot_run_words); } { const std::uint32_t aot_run_words[6]{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(724), aot_run_words); } aot_gpr_31 = (0x0892D328u); ctx.gpr[17] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 648u, 0x08912938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D328u) goto L_0892D328; AOT_REGCACHE_SYNC_OUT(); return; L_0892D328: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892D3D4; } goto L_0892D330; } L_0892D330: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892D3D4; } goto L_0892D34C; } L_0892D34C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 10u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892D3D4; } goto L_0892D368; } L_0892D368: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_0892D384; } goto L_0892D378; } L_0892D378: aot_gpr_4 = (20352u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_0892D384; L_0892D384: aot_gpr_4 = (17224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (20224u << 16u); if (branch_taken) { goto L_0892D3B4; } goto L_0892D3A8; } L_0892D3A8: 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_0892D3CC; } goto L_0892D3B4; } L_0892D3B4: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; 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)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_0892D3CC; L_0892D3CC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_0892F104; } goto L_0892D3D4; } L_0892D3D4: aot_gpr_4 = (16640u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x0892D470u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D470u) goto L_0892D470; AOT_REGCACHE_SYNC_OUT(); return; L_0892D470: aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_22) ^ 0x80000000u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_22) || std::isnan(aot_fpr_13)) && aot_fpr_22 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(688), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_0892D4AC; } goto L_0892D490; } L_0892D490: aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D4B0; } goto L_0892D4A4; L_0892D4A4: { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(0u); if (branch_taken) { goto L_0892D4BC; } goto L_0892D4AC; } L_0892D4AC: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D4B0; L_0892D4B0: aot_gpr_31 = (0x0892D4B8u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D4B8u) goto L_0892D4B8; AOT_REGCACHE_SYNC_OUT(); return; L_0892D4B8: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_0892D4BC; L_0892D4BC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_gpr_4 = (15820u << 16u); ctx.fpr[20] = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 0u); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; { const float fs = ctx.fpr[20]; const float ft = aot_fpr_14; 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 (branch_taken) { goto L_0892D4FC; } goto L_0892D4F0; } L_0892D4F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892D528; } goto L_0892D4FC; } L_0892D4FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892D50C; } L_0892D50C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892D518; } L_0892D518: aot_gpr_31 = (0x0892D520u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D520u) goto L_0892D520; AOT_REGCACHE_SYNC_OUT(); return; L_0892D520: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892D528; } L_0892D528: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); aot_gpr_5 = (0u | 2u); if (aot_gpr_4 == aot_gpr_5) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); goto L_0892D5DC; } goto L_0892D538; L_0892D538: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(54))); if (aot_gpr_5 != aot_gpr_4) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); goto L_0892D5DC; } goto L_0892D54C; L_0892D54C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); aot_gpr_6 = (0u | 4u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0892D56C; } goto L_0892D55C; } L_0892D55C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); aot_gpr_6 = (0u | 5u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; if (branch_taken) { goto L_0892D570; } goto L_0892D56C; } L_0892D56C: aot_gpr_4 = (0u | 1u); goto L_0892D570; L_0892D570: ctx.gpr[18] = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892D584u); aot_gpr_6 = (0u | 5000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D584u) goto L_0892D584; AOT_REGCACHE_SYNC_OUT(); return; L_0892D584: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0892D59Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D59Cu) goto L_0892D59C; AOT_REGCACHE_SYNC_OUT(); return; L_0892D59C: { const bool branch_taken = ctx.gpr[18] != 0u; if (branch_taken) { goto L_0892D5B0; } goto L_0892D5A4; } L_0892D5A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892D5B0u); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D5B0u) goto L_0892D5B0; AOT_REGCACHE_SYNC_OUT(); return; L_0892D5B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892D5C0; } L_0892D5C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892D5CC; } L_0892D5CC: aot_gpr_31 = (0x0892D5D4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D5D4u) goto L_0892D5D4; AOT_REGCACHE_SYNC_OUT(); return; L_0892D5D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892D5DC; } L_0892D5DC: aot_gpr_4 = (16051u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_gpr_4 = (aot_gpr_4 | 13107u); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; aot_gpr_4 = (16128u << 16u); ctx.fpr[15] = ctx.fpr[15] + aot_fpr_13; 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(68), std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = ctx.fpr[16] + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[15])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892D630; } goto L_0892D628; } L_0892D628: aot_gpr_4 = (16128u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); goto L_0892D630; L_0892D630: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (16128u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); goto L_0892D674; } goto L_0892D658; L_0892D658: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (16128u << 16u); ctx.fpr[20] = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_14; 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; } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); goto L_0892D674; L_0892D674: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_4 = (16128u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } 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_0892D6B0; } goto L_0892D698; } L_0892D698: 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(64))); aot_gpr_4 = (16128u << 16u); ctx.fpr[20] = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_14; 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; } goto L_0892D6B0; L_0892D6B0: aot_gpr_4 = (aot_gpr_29 + static_cast(160)); aot_fpr_12 = std::bit_cast(0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); 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_0892D6D0; } goto L_0892D6CC; } L_0892D6CC: ctx.gpr[19] = (0u | 1u); goto L_0892D6D0; L_0892D6D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; aot_gpr_4 = (aot_gpr_29 + static_cast(160)); if (branch_taken) { goto L_0892D710; } goto L_0892D6E4; } L_0892D6E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(10))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; aot_gpr_4 = (aot_gpr_29 + static_cast(160)); if (branch_taken) { goto L_0892D710; } goto L_0892D6F8; } L_0892D6F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(12))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; if (branch_taken) { goto L_0892D894; } goto L_0892D70C; } L_0892D70C: aot_gpr_4 = (aot_gpr_29 + static_cast(160)); goto L_0892D710; L_0892D710: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (16145u << 16u); aot_gpr_4 = (aot_gpr_4 | 60293u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16076u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_gpr_4 = (aot_gpr_4 | 52429u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0892D788; } goto L_0892D734; } L_0892D734: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_gpr_4 = (16000u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16192u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(688), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0892D88C; } goto L_0892D788; } L_0892D788: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); goto L_0892D7A8; } goto L_0892D7A0; L_0892D7A0: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (branch_taken) { goto L_0892D7A8; } goto L_0892D7A8; } L_0892D7A8: aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { 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.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0892D7D8; } goto L_0892D7D0; } L_0892D7D0: { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); if (branch_taken) { goto L_0892D7DC; } goto L_0892D7D8; } L_0892D7D8: aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); goto L_0892D7DC; L_0892D7DC: aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); 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_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_gpr_29 + static_cast(160)); aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_13)); aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_22) ^ 0x80000000u); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_22) || std::isnan(aot_fpr_13)) && aot_fpr_22 == aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (branch_taken) { goto L_0892D840; } goto L_0892D824; } L_0892D824: aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D844; } goto L_0892D838; L_0892D838: { const bool branch_taken = 0u == 0u; aot_fpr_22 = std::bit_cast(0u); if (branch_taken) { goto L_0892D850; } goto L_0892D840; } L_0892D840: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D844; L_0892D844: aot_gpr_31 = (0x0892D84Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D84Cu) goto L_0892D84C; AOT_REGCACHE_SYNC_OUT(); return; L_0892D84C: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_0892D850; L_0892D850: ctx.gpr[19] = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x0892D85Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 940u, 0x0885FF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D85Cu) goto L_0892D85C; AOT_REGCACHE_SYNC_OUT(); return; L_0892D85C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0892D868u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 926u, 0x0885FD1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D868u) goto L_0892D868; AOT_REGCACHE_SYNC_OUT(); return; L_0892D868: ctx.gpr[21] = (ctx.gpr[17] + static_cast(48)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[21] + static_cast(0), 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 = (0x0892D880u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D880u) goto L_0892D880; AOT_REGCACHE_SYNC_OUT(); return; L_0892D880: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0892D88C; L_0892D88C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_0892D8C4; } goto L_0892D894; } L_0892D894: aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0892D8C4; L_0892D8C4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(692), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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); } ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[26]) ^ 0x80000000u); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[26]) || std::isnan(aot_fpr_13)) && ctx.fpr[26] == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); if (branch_taken) { goto L_0892D928; } goto L_0892D90C; } L_0892D90C: aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D92C; } goto L_0892D920; L_0892D920: { const bool branch_taken = 0u == 0u; ctx.fpr[26] = std::bit_cast(0u); if (branch_taken) { goto L_0892D938; } goto L_0892D928; } L_0892D928: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D92C; L_0892D92C: aot_gpr_31 = (0x0892D934u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D934u) goto L_0892D934; AOT_REGCACHE_SYNC_OUT(); return; L_0892D934: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_0892D938; L_0892D938: aot_gpr_31 = (0x0892D940u); aot_fpr_12 = aot_fpr_22 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D940u) goto L_0892D940; AOT_REGCACHE_SYNC_OUT(); return; L_0892D940: ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.fpr[30] = ctx.fpr[30] - aot_fpr_12; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[30]) || std::isnan(aot_fpr_13)) && ctx.fpr[30] == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; if (branch_taken) { goto L_0892D988; } goto L_0892D96C; } L_0892D96C: aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D98C; } goto L_0892D980; L_0892D980: { const bool branch_taken = 0u == 0u; ctx.fpr[30] = std::bit_cast(0u); if (branch_taken) { goto L_0892D998; } goto L_0892D988; } L_0892D988: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0892D98C; L_0892D98C: aot_gpr_31 = (0x0892D994u); 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_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D994u) goto L_0892D994; AOT_REGCACHE_SYNC_OUT(); return; L_0892D994: ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_0892D998; L_0892D998: aot_gpr_31 = (0x0892D9A0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D9A0u) goto L_0892D9A0; AOT_REGCACHE_SYNC_OUT(); return; L_0892D9A0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892D9F0; } goto L_0892D9A8; } L_0892D9A8: aot_gpr_31 = (0x0892D9B0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D9B0u) goto L_0892D9B0; AOT_REGCACHE_SYNC_OUT(); return; L_0892D9B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(3156))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892D9E8; } goto L_0892D9C8; } L_0892D9C8: aot_gpr_31 = (0x0892D9D0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D9D0u) goto L_0892D9D0; AOT_REGCACHE_SYNC_OUT(); return; L_0892D9D0: aot_gpr_4 = (16384u << 16u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(3156))); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fpr[28] = aot_fpr_12 / ctx.fpr[28]; { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892DA4C; } goto L_0892D9E8; } L_0892D9E8: { const bool branch_taken = 0u == 0u; ctx.fpr[28] = std::bit_cast(0u); if (branch_taken) { goto L_0892DA4C; } goto L_0892D9F0; } L_0892D9F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 5u); if (branch_taken) { goto L_0892DA3C; } goto L_0892DA00; } L_0892DA00: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 4u); if (branch_taken) { goto L_0892DA24; } goto L_0892DA08; } L_0892DA08: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 2u); if (branch_taken) { goto L_0892DA30; } goto L_0892DA10; } L_0892DA10: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892DA48; } goto L_0892DA18; } L_0892DA18: aot_gpr_4 = (16384u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[28] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0892DA4C; } goto L_0892DA24; } L_0892DA24: aot_gpr_4 = (16128u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[28] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0892DA4C; } goto L_0892DA30; } L_0892DA30: aot_gpr_4 = (16128u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[28] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0892DA4C; } goto L_0892DA3C; } L_0892DA3C: aot_gpr_4 = (16384u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[28] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0892DA4C; } goto L_0892DA48; } L_0892DA48: ctx.fpr[28] = std::bit_cast(0u); goto L_0892DA4C; L_0892DA4C: aot_gpr_31 = (0x0892DA54u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DA54u) goto L_0892DA54; AOT_REGCACHE_SYNC_OUT(); return; L_0892DA54: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; if (branch_taken) { goto L_0892DAD4; } goto L_0892DA5C; } L_0892DA5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DAD4; } goto L_0892DA78; } L_0892DA78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892DAA8; } goto L_0892DA88; } L_0892DA88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892DAA8; } goto L_0892DA98; } L_0892DA98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); aot_gpr_5 = (0u | 31u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892DAD4; } goto L_0892DAA8; } L_0892DAA8: ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x0892DAB4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DAB4u) goto L_0892DAB4; AOT_REGCACHE_SYNC_OUT(); return; L_0892DAB4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892DAC0; } goto L_0892DABC; } L_0892DABC: ctx.fpr[28] = std::bit_cast(0u); goto L_0892DAC0; L_0892DAC0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DAD4; } goto L_0892DAD0; } L_0892DAD0: ctx.gpr[20] = (0u | 1u); goto L_0892DAD4; L_0892DAD4: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0892DB00; } goto L_0892DAE4; } L_0892DAE4: aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(212), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0892DAE4; } goto L_0892DB00; } L_0892DB00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1380))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892DB20; } goto L_0892DB14; } L_0892DB14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1376))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; if (branch_taken) { goto L_0892E86C; } goto L_0892DB20; } L_0892DB20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (0u | 1u); if (branch_taken) { goto L_0892E2C4; } goto L_0892DB3C; } L_0892DB3C: { const bool branch_taken = ctx.gpr[19] != 0u; if (branch_taken) { goto L_0892E2C4; } goto L_0892DB44; } L_0892DB44: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(256)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); aot_gpr_6 = (16153u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x0892DC00u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DC00u) goto L_0892DC00; AOT_REGCACHE_SYNC_OUT(); return; L_0892DC00: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DC64; } goto L_0892DC0C; } L_0892DC0C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 2u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0892DC34; } goto L_0892DC28; } L_0892DC28: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DC64; } goto L_0892DC34; } L_0892DC34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DC5C; } goto L_0892DC50; } L_0892DC50: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DC64; } goto L_0892DC5C; } L_0892DC5C: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(aot_gpr_4)); goto L_0892DC64; L_0892DC64: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(256)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); aot_gpr_6 = (16153u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x0892DD20u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DD20u) goto L_0892DD20; AOT_REGCACHE_SYNC_OUT(); return; L_0892DD20: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DD84; } goto L_0892DD2C; } L_0892DD2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 2u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0892DD54; } goto L_0892DD48; } L_0892DD48: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(213), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DD84; } goto L_0892DD54; } L_0892DD54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DD7C; } goto L_0892DD70; } L_0892DD70: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(213), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DD84; } goto L_0892DD7C; } L_0892DD7C: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(213), static_cast(aot_gpr_4)); goto L_0892DD84; L_0892DD84: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(256)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); aot_gpr_6 = (16153u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x0892DE40u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DE40u) goto L_0892DE40; AOT_REGCACHE_SYNC_OUT(); return; L_0892DE40: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DEA4; } goto L_0892DE4C; } L_0892DE4C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 2u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0892DE74; } goto L_0892DE68; } L_0892DE68: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(214), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DEA4; } goto L_0892DE74; } L_0892DE74: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DE9C; } goto L_0892DE90; } L_0892DE90: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(214), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DEA4; } goto L_0892DE9C; } L_0892DE9C: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(214), static_cast(aot_gpr_4)); goto L_0892DEA4; L_0892DEA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(256)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); aot_gpr_6 = (16153u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(320)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x0892DF60u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DF60u) goto L_0892DF60; AOT_REGCACHE_SYNC_OUT(); return; L_0892DF60: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DFC4; } goto L_0892DF6C; } L_0892DF6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 2u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0892DF94; } goto L_0892DF88; } L_0892DF88: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(215), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DFC4; } goto L_0892DF94; } L_0892DF94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892DFBC; } goto L_0892DFB0; } L_0892DFB0: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(215), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892DFC4; } goto L_0892DFBC; } L_0892DFBC: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(215), static_cast(aot_gpr_4)); goto L_0892DFC4; L_0892DFC4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E140; } goto L_0892DFD0; } L_0892DFD0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E140; } goto L_0892DFDC; } L_0892DFDC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(272)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); ctx.gpr[7] = (aot_gpr_29 + static_cast(400)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_14 = aot_fpr_14 + aot_fpr_13; 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(84))); aot_fpr_13 = aot_fpr_14 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(288)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(352)); ctx.gpr[7] = (aot_gpr_29 + static_cast(384)); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0892E0B4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E0B4u) goto L_0892E0B4; AOT_REGCACHE_SYNC_OUT(); return; L_0892E0B4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892E140; } goto L_0892E0BC; } L_0892E0BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); goto L_0892E0EC; } goto L_0892E0DC; L_0892E0DC: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(213), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E140; } goto L_0892E0EC; } L_0892E0EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); goto L_0892E118; } goto L_0892E108; L_0892E108: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(213), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E140; } goto L_0892E118; } L_0892E118: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E140; } goto L_0892E134; } L_0892E134: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(213), static_cast(aot_gpr_4)); goto L_0892E140; L_0892E140: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E2BC; } goto L_0892E14C; } L_0892E14C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E2BC; } goto L_0892E158; } L_0892E158: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(304)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); ctx.gpr[7] = (aot_gpr_29 + static_cast(416)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(352)); ctx.gpr[7] = (aot_gpr_29 + static_cast(384)); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0892E230u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E230u) goto L_0892E230; AOT_REGCACHE_SYNC_OUT(); return; L_0892E230: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892E2BC; } goto L_0892E238; } L_0892E238: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); goto L_0892E268; } goto L_0892E258; L_0892E258: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(214), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(215), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E2BC; } goto L_0892E268; } L_0892E268: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); goto L_0892E294; } goto L_0892E284; L_0892E284: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(214), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(215), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E2BC; } goto L_0892E294; } L_0892E294: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E2BC; } goto L_0892E2B0; } L_0892E2B0: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(214), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(215), static_cast(aot_gpr_4)); goto L_0892E2BC; L_0892E2BC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892E2C8; } goto L_0892E2C4; } L_0892E2C4: ctx.gpr[21] = (0u | 0u); goto L_0892E2C8; L_0892E2C8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E328; } goto L_0892E2D4; } L_0892E2D4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E328; } goto L_0892E2E0; } L_0892E2E0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E328; } goto L_0892E2EC; } L_0892E2EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E328; } goto L_0892E2F8; } L_0892E2F8: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0892E324; } goto L_0892E308; } L_0892E308: aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(212), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0892E308; } goto L_0892E324; } L_0892E324: ctx.gpr[21] = (0u | 0u); goto L_0892E328; L_0892E328: { const bool branch_taken = ctx.gpr[21] != 0u; if (branch_taken) { goto L_0892E338; } goto L_0892E330; } L_0892E330: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E338; } L_0892E338: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24]) ^ 0x80000000u); goto L_0892E350; } goto L_0892E350; L_0892E350: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892E438; } goto L_0892E360; } L_0892E360: if (ctx.gpr[18] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); goto L_0892E38C; } goto L_0892E368; L_0892E368: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E3A8; } goto L_0892E378; } L_0892E378: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E3A8; } goto L_0892E388; } L_0892E388: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); goto L_0892E38C; L_0892E38C: aot_gpr_31 = (0x0892E394u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E394u) goto L_0892E394; AOT_REGCACHE_SYNC_OUT(); return; L_0892E394: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892E3F0; } goto L_0892E3A8; } L_0892E3A8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E3DC; } goto L_0892E3B8; } L_0892E3B8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E3E8; } goto L_0892E3C4; } L_0892E3C4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E3E8; } goto L_0892E3D0; } L_0892E3D0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E3E8; } goto L_0892E3DC; } L_0892E3DC: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E3E8; } L_0892E3E8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E3F0; } L_0892E3F0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E424; } goto L_0892E400; } L_0892E400: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E430; } goto L_0892E40C; } L_0892E40C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E430; } goto L_0892E418; } L_0892E418: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E430; } goto L_0892E424; } L_0892E424: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E430; } L_0892E430: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E438; } L_0892E438: aot_gpr_4 = (16457u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_14 = std::bit_cast(0u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 - ctx.fpr[30]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24]) ^ 0x80000000u); goto L_0892E460; } goto L_0892E460; L_0892E460: 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_0892E548; } goto L_0892E470; } L_0892E470: if (ctx.gpr[18] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); goto L_0892E49C; } goto L_0892E478; L_0892E478: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E4B8; } goto L_0892E488; } L_0892E488: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E4B8; } goto L_0892E498; } L_0892E498: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); goto L_0892E49C; L_0892E49C: aot_gpr_31 = (0x0892E4A4u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E4A4u) goto L_0892E4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0892E4A4: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892E500; } goto L_0892E4B8; } L_0892E4B8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E4EC; } goto L_0892E4C8; } L_0892E4C8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E4F8; } goto L_0892E4D4; } L_0892E4D4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E4F8; } goto L_0892E4E0; } L_0892E4E0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E4F8; } goto L_0892E4EC; } L_0892E4EC: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E4F8; } L_0892E4F8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E500; } L_0892E500: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E534; } goto L_0892E510; } L_0892E510: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E540; } goto L_0892E51C; } L_0892E51C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E540; } goto L_0892E528; } L_0892E528: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E540; } goto L_0892E534; } L_0892E534: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E540; } L_0892E540: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E548; } L_0892E548: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(0u); goto L_0892E568; } goto L_0892E55C; L_0892E55C: { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_0892E580; } goto L_0892E564; } L_0892E564: aot_fpr_12 = std::bit_cast(0u); goto L_0892E568; L_0892E568: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892E6E0; } goto L_0892E578; } L_0892E578: { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_0892E6E0; } goto L_0892E580; } L_0892E580: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892E5B0; } goto L_0892E588; } L_0892E588: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E5A8; } goto L_0892E598; } L_0892E598: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892E5B0; } goto L_0892E5A8; } L_0892E5A8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E5B0; } L_0892E5B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_gpr_31 = (0x0892E5BCu); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E5BCu) goto L_0892E5BC; AOT_REGCACHE_SYNC_OUT(); return; L_0892E5BC: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892E658; } goto L_0892E5D0; } L_0892E5D0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E604; } goto L_0892E5E0; } L_0892E5E0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E610; } goto L_0892E5EC; } L_0892E5EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E610; } goto L_0892E5F8; } L_0892E5F8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E610; } goto L_0892E604; } L_0892E604: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E610; } L_0892E610: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E644; } goto L_0892E620; } L_0892E620: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E650; } goto L_0892E62C; } L_0892E62C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E650; } goto L_0892E638; } L_0892E638: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E650; } goto L_0892E644; } L_0892E644: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E650; } L_0892E650: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E658; } L_0892E658: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E68C; } goto L_0892E668; } L_0892E668: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E698; } goto L_0892E674; } L_0892E674: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E698; } goto L_0892E680; } L_0892E680: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E698; } goto L_0892E68C; } L_0892E68C: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E698; } L_0892E698: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E6CC; } goto L_0892E6A8; } L_0892E6A8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E6D8; } goto L_0892E6B4; } L_0892E6B4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E6D8; } goto L_0892E6C0; } L_0892E6C0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E6D8; } goto L_0892E6CC; } L_0892E6CC: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E6D8; } L_0892E6D8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E6E0; } L_0892E6E0: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892E710; } goto L_0892E6E8; } L_0892E6E8: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E708; } goto L_0892E6F8; } L_0892E6F8: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892E710; } goto L_0892E708; } L_0892E708: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E710; } L_0892E710: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_gpr_31 = (0x0892E71Cu); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E71Cu) goto L_0892E71C; AOT_REGCACHE_SYNC_OUT(); return; L_0892E71C: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892E7B8; } goto L_0892E730; } L_0892E730: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E764; } goto L_0892E740; } L_0892E740: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E770; } goto L_0892E74C; } L_0892E74C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E770; } goto L_0892E758; } L_0892E758: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E770; } goto L_0892E764; } L_0892E764: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E770; } L_0892E770: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E7A4; } goto L_0892E780; } L_0892E780: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E7B0; } goto L_0892E78C; } L_0892E78C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E7B0; } goto L_0892E798; } L_0892E798: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E7B0; } goto L_0892E7A4; } L_0892E7A4: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E7B0; } L_0892E7B0: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); if (branch_taken) { goto L_0892E83C; } goto L_0892E7B8; } L_0892E7B8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E7EC; } goto L_0892E7C8; } L_0892E7C8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E7F8; } goto L_0892E7D4; } L_0892E7D4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E7F8; } goto L_0892E7E0; } L_0892E7E0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E7F8; } goto L_0892E7EC; } L_0892E7EC: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E7F8; } L_0892E7F8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E82C; } goto L_0892E808; } L_0892E808: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E838; } goto L_0892E814; } L_0892E814: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E838; } goto L_0892E820; } L_0892E820: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E838; } goto L_0892E82C; } L_0892E82C: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0892E83C; } goto L_0892E838; } L_0892E838: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1150), static_cast(0u)); goto L_0892E83C; L_0892E83C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1376), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_16 + static_cast(1376)); aot_gpr_31 = (0x0892E84Cu); 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_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E84Cu) goto L_0892E84C; AOT_REGCACHE_SYNC_OUT(); return; L_0892E84C: aot_gpr_31 = (0x0892E854u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E854u) goto L_0892E854; AOT_REGCACHE_SYNC_OUT(); return; L_0892E854: aot_gpr_4 = (ctx.gpr[2] & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(512)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1380), aot_gpr_4); goto L_0892E86C; L_0892E86C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24]) ^ 0x80000000u); goto L_0892E884; } goto L_0892E884; L_0892E884: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892EA44; } goto L_0892E894; } L_0892E894: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892E990; } goto L_0892E89C; } L_0892E89C: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_0892E8F0; } goto L_0892E8A4; } L_0892E8A4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E8C4; } goto L_0892E8B4; } L_0892E8B4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892E8F0; } goto L_0892E8C4; } L_0892E8C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892E8D4; } L_0892E8D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892E8E0; } L_0892E8E0: aot_gpr_31 = (0x0892E8E8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E8E8u) goto L_0892E8E8; AOT_REGCACHE_SYNC_OUT(); return; L_0892E8E8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892E8F0; } L_0892E8F0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E928; } goto L_0892E900; } L_0892E900: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E928; } goto L_0892E910; } L_0892E910: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(214))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892E95C; } goto L_0892E91C; } L_0892E91C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(215))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892E95C; } goto L_0892E928; } L_0892E928: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892E93Cu); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E93Cu) goto L_0892E93C; AOT_REGCACHE_SYNC_OUT(); return; L_0892E93C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892E95C; } L_0892E95C: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892E970u); aot_fpr_12 = aot_fpr_22 - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E970u) goto L_0892E970; AOT_REGCACHE_SYNC_OUT(); return; L_0892E970: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892E990; } L_0892E990: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E9DC; } goto L_0892E9A0; } L_0892E9A0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892E9DC; } goto L_0892E9B0; } L_0892E9B0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892EA10; } goto L_0892E9BC; } L_0892E9BC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_gpr_31 = (0x0892E9C8u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E9C8u) goto L_0892E9C8; AOT_REGCACHE_SYNC_OUT(); return; L_0892E9C8: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892EA10; } goto L_0892E9DC; } L_0892E9DC: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892E9F0u); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E9F0u) goto L_0892E9F0; AOT_REGCACHE_SYNC_OUT(); return; L_0892E9F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EA10; } L_0892EA10: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EA24u); aot_fpr_12 = aot_fpr_22 - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EA24u) goto L_0892EA24; AOT_REGCACHE_SYNC_OUT(); return; L_0892EA24: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EA44; } L_0892EA44: aot_gpr_4 = (16457u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[30] = aot_fpr_14 - ctx.fpr[30]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24]) ^ 0x80000000u); goto L_0892EA6C; } goto L_0892EA6C; L_0892EA6C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892EC00; } goto L_0892EA7C; } L_0892EA7C: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892EB4C; } goto L_0892EA84; } L_0892EA84: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_0892EAAC; } goto L_0892EA8C; } L_0892EA8C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EB4C; } goto L_0892EA9C; } L_0892EA9C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EB4C; } goto L_0892EAAC; } L_0892EAAC: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EAE4; } goto L_0892EABC; } L_0892EABC: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EAE4; } goto L_0892EACC; } L_0892EACC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892EB18; } goto L_0892EAD8; } L_0892EAD8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892EB18; } goto L_0892EAE4; } L_0892EAE4: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EAF8u); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EAF8u) goto L_0892EAF8; AOT_REGCACHE_SYNC_OUT(); return; L_0892EAF8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EB18; } L_0892EB18: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EB2Cu); aot_fpr_12 = aot_fpr_22 - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EB2Cu) goto L_0892EB2C; AOT_REGCACHE_SYNC_OUT(); return; L_0892EB2C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EB4C; } L_0892EB4C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EB98; } goto L_0892EB5C; } L_0892EB5C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EB98; } goto L_0892EB6C; } L_0892EB6C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892EBCC; } goto L_0892EB78; } L_0892EB78: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_gpr_31 = (0x0892EB84u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EB84u) goto L_0892EB84; AOT_REGCACHE_SYNC_OUT(); return; L_0892EB84: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892EBCC; } goto L_0892EB98; } L_0892EB98: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EBACu); aot_fpr_12 = aot_fpr_22 - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EBACu) goto L_0892EBAC; AOT_REGCACHE_SYNC_OUT(); return; L_0892EBAC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EBCC; } L_0892EBCC: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EBE0u); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EBE0u) goto L_0892EBE0; AOT_REGCACHE_SYNC_OUT(); return; L_0892EBE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EC00; } L_0892EC00: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892ED74; } goto L_0892EC14; } L_0892EC14: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892EC78; } goto L_0892EC1C; } L_0892EC1C: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_0892EC78; } goto L_0892EC24; } L_0892EC24: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EC44; } goto L_0892EC34; } L_0892EC34: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892EC78; } goto L_0892EC44; } L_0892EC44: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EC58u); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EC58u) goto L_0892EC58; AOT_REGCACHE_SYNC_OUT(); return; L_0892EC58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EC78; } L_0892EC78: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892ECD4; } goto L_0892EC80; } L_0892EC80: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892ECA8; } goto L_0892EC90; } L_0892EC90: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892ECD4; } goto L_0892ECA0; } L_0892ECA0: { const bool branch_taken = ctx.gpr[20] != 0u; if (branch_taken) { goto L_0892ECD4; } goto L_0892ECA8; } L_0892ECA8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892ECB8; } L_0892ECB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892ECC4; } L_0892ECC4: aot_gpr_31 = (0x0892ECCCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ECCCu) goto L_0892ECCC; AOT_REGCACHE_SYNC_OUT(); return; L_0892ECCC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892ECD4; } L_0892ECD4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892ED20; } goto L_0892ECE4; } L_0892ECE4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892ED20; } goto L_0892ECF4; } L_0892ECF4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892ED40; } goto L_0892ED00; } L_0892ED00: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_gpr_31 = (0x0892ED0Cu); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ED0Cu) goto L_0892ED0C; AOT_REGCACHE_SYNC_OUT(); return; L_0892ED0C: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892ED40; } goto L_0892ED20; } L_0892ED20: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_22)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892ED40; } L_0892ED40: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892ED54u); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ED54u) goto L_0892ED54; AOT_REGCACHE_SYNC_OUT(); return; L_0892ED54: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892ED74; } L_0892ED74: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892EDD8; } goto L_0892ED7C; } L_0892ED7C: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_0892EDD8; } goto L_0892ED84; } L_0892ED84: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EDA4; } goto L_0892ED94; } L_0892ED94: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892EDD8; } goto L_0892EDA4; } L_0892EDA4: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EDB8u); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EDB8u) goto L_0892EDB8; AOT_REGCACHE_SYNC_OUT(); return; L_0892EDB8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EDD8; } L_0892EDD8: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892EE34; } goto L_0892EDE0; } L_0892EDE0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EE08; } goto L_0892EDF0; } L_0892EDF0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892EE34; } goto L_0892EE00; } L_0892EE00: { const bool branch_taken = ctx.gpr[20] != 0u; if (branch_taken) { goto L_0892EE34; } goto L_0892EE08; } L_0892EE08: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892EE18; } L_0892EE18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892EE24; } L_0892EE24: aot_gpr_31 = (0x0892EE2Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EE2Cu) goto L_0892EE2C; AOT_REGCACHE_SYNC_OUT(); return; L_0892EE2C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892EE34; } L_0892EE34: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EE80; } goto L_0892EE44; } L_0892EE44: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0892EE80; } goto L_0892EE54; } L_0892EE54: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1150))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0892EEB4; } goto L_0892EE60; } L_0892EE60: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_gpr_31 = (0x0892EE6Cu); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EE6Cu) goto L_0892EE6C; AOT_REGCACHE_SYNC_OUT(); return; L_0892EE6C: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892EEB4; } goto L_0892EE80; } L_0892EE80: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EE94u); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EE94u) goto L_0892EE94; AOT_REGCACHE_SYNC_OUT(); return; L_0892EE94: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0892EED0; } goto L_0892EEB4; } L_0892EEB4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_22)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_13)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } goto L_0892EED0; L_0892EED0: { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_0892EEE4; } goto L_0892EED8; } L_0892EED8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); goto L_0892EEE4; L_0892EEE4: aot_gpr_4 = (aot_gpr_29 + 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<1u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_29 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2064), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2068), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0892EF30u); aot_gpr_5 = (aot_gpr_16 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EF30u) goto L_0892EF30; AOT_REGCACHE_SYNC_OUT(); return; L_0892EF30: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_14)) && aot_fpr_12 == aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); if (branch_taken) { goto L_0892EF68; } goto L_0892EF4C; } L_0892EF4C: aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_14)) && aot_fpr_13 == aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892EF68; } goto L_0892EF60; } L_0892EF60: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(0u); if (branch_taken) { goto L_0892EF74; } goto L_0892EF68; } L_0892EF68: aot_gpr_31 = (0x0892EF70u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EF70u) goto L_0892EF70; AOT_REGCACHE_SYNC_OUT(); return; L_0892EF70: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_0892EF74; L_0892EF74: aot_gpr_31 = (0x0892EF7Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EF7Cu) goto L_0892EF7C; AOT_REGCACHE_SYNC_OUT(); return; L_0892EF7C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); goto L_0892EFE4; } goto L_0892EF98; L_0892EF98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 32768u); if (aot_gpr_4 == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); goto L_0892EFE4; } goto L_0892EFA8; L_0892EFA8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(692))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892EFC8; } goto L_0892EFC0; } L_0892EFC0: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0892EFE0; } goto L_0892EFC8; } L_0892EFC8: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892EFDCu); aot_fpr_12 = aot_fpr_22 + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892EFDCu) goto L_0892EFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0892EFDC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); goto L_0892EFE0; L_0892EFE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); goto L_0892EFE4; L_0892EFE4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(432))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(436))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(672), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(676), std::bit_cast(aot_fpr_13)); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); { 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)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), std::bit_cast(ctx.fpr[16])); aot_fpr_12 = aot_fpr_13 + ctx.fpr[17]; aot_fpr_12 = std::sqrt(aot_fpr_12); aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892F058; } goto L_0892F050; } L_0892F050: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_0892F058; L_0892F058: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(688))); 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_0892F070; } goto L_0892F06C; } L_0892F06C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_0892F070; L_0892F070: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); if (branch_taken) { goto L_0892F08C; } goto L_0892F080; } L_0892F080: aot_gpr_4 = (20352u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; goto L_0892F08C; L_0892F08C: aot_gpr_4 = (17292u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (20224u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } ctx.fpr[28] = aot_fpr_13 + ctx.fpr[28]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[28] < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (20224u << 16u); if (branch_taken) { goto L_0892F0C4; } goto L_0892F0B8; } L_0892F0B8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[28])); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0892F0DC; } goto L_0892F0C4; } L_0892F0C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = ctx.fpr[28] - 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)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_0892F0DC; L_0892F0DC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892F0F0; } L_0892F0F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892F104; } goto L_0892F0FC; } L_0892F0FC: aot_gpr_31 = (0x0892F104u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F104u) goto L_0892F104; AOT_REGCACHE_SYNC_OUT(); return; L_0892F104: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(696), 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]; aot_gpr_31 = aot_run_words[12]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(752)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0892F140: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } ctx.gpr[18] = (aot_gpr_6 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[19] = (ctx.gpr[7] & 255u); ctx.gpr[20] = (ctx.gpr[8] & 255u); ctx.gpr[21] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); { const std::uint32_t aot_run_words[3]{ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_31 = (0x0892F190u); ctx.gpr[22] = (0u | 173u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F190u) goto L_0892F190; AOT_REGCACHE_SYNC_OUT(); return; L_0892F190: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0892F1B0; } goto L_0892F198; } L_0892F198: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); ctx.gpr[23] = (0u | 17u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; if (branch_taken) { goto L_0892F1B8; } goto L_0892F1A8; } L_0892F1A8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F1C0; } goto L_0892F1B0; } L_0892F1B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC70; } goto L_0892F1B8; } L_0892F1B8: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_0892F1D4; } goto L_0892F1C0; } L_0892F1C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2236))); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; ctx.gpr[20] = (ctx.gpr[17] + static_cast(-1)); if (branch_taken) { goto L_0892F1DC; } goto L_0892F1CC; } L_0892F1CC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F1E8; } goto L_0892F1D4; } L_0892F1D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC70; } goto L_0892F1DC; } L_0892F1DC: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x0892F1E8u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 212u, 0x0890CC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F1E8u) goto L_0892F1E8; AOT_REGCACHE_SYNC_OUT(); return; L_0892F1E8: aot_gpr_4 = (ctx.gpr[20] < static_cast(33) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0892FC3C; } goto L_0892F1F4; } L_0892F1F4: ctx.gpr[20] = (ctx.gpr[20] << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[20]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-11648))); 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_0892F20C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(500)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_5); aot_gpr_31 = (0x0892F224u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F224u) goto L_0892F224; AOT_REGCACHE_SYNC_OUT(); return; L_0892F224: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F22C; } L_0892F22C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); ctx.gpr[8] = (16512u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F254u); ctx.gpr[7] = (0u | 11u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F254u) goto L_0892F254; AOT_REGCACHE_SYNC_OUT(); return; L_0892F254: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F25C; } L_0892F25C: ctx.gpr[8] = (16640u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F278u); ctx.gpr[7] = (0u | 149u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F278u) goto L_0892F278; AOT_REGCACHE_SYNC_OUT(); return; L_0892F278: { const bool branch_taken = ctx.gpr[18] != 0u; if (branch_taken) { goto L_0892F2DC; } goto L_0892F280; } L_0892F280: aot_gpr_31 = (0x0892F288u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F288u) goto L_0892F288; AOT_REGCACHE_SYNC_OUT(); return; L_0892F288: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20308))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20312))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0892F29Cu); aot_gpr_5 = (0u | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F29Cu) goto L_0892F29C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F29C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20268))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20272))); ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_6 = (ctx.gpr[2] >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892F2EC; } goto L_0892F2DC; } L_0892F2DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); goto L_0892F2EC; L_0892F2EC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F2F4; } L_0892F2F4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F2FC; } L_0892F2FC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F304; } L_0892F304: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F30C; } L_0892F30C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F314; } L_0892F314: aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(3500)); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F344u); ctx.gpr[7] = (0u | 11u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F344u) goto L_0892F344; AOT_REGCACHE_SYNC_OUT(); return; L_0892F344: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F34C; } L_0892F34C: aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[8] = (16256u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(5000)); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F380u); ctx.gpr[7] = (0u | 41u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F380u) goto L_0892F380; AOT_REGCACHE_SYNC_OUT(); return; L_0892F380: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (aot_gpr_4 | 4u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 8u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F3ACu); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 96u, 0x08890604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F3ACu) goto L_0892F3AC; AOT_REGCACHE_SYNC_OUT(); return; L_0892F3AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[23]; if (branch_taken) { goto L_0892F3F4; } goto L_0892F3B8; } L_0892F3B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892F3F4; } goto L_0892F3C8; } L_0892F3C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_5 = (0u | 24u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892F3F4; } goto L_0892F3D8; } L_0892F3D8: aot_gpr_31 = (0x0892F3E0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F3E0u) goto L_0892F3E0; AOT_REGCACHE_SYNC_OUT(); return; L_0892F3E0: aot_gpr_31 = (0x0892F3E8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F3E8u) goto L_0892F3E8; AOT_REGCACHE_SYNC_OUT(); return; L_0892F3E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(30000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1752), aot_gpr_4); goto L_0892F3F4; L_0892F3F4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F3FC; } L_0892F3FC: aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[8] = (16512u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(5000)); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F42Cu); ctx.gpr[7] = (0u | 150u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F42Cu) goto L_0892F42C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F42C: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F444u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F444u) goto L_0892F444; AOT_REGCACHE_SYNC_OUT(); return; L_0892F444: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F44C; } L_0892F44C: aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[8] = (16512u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(2000)); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F47Cu); ctx.gpr[7] = (0u | 41u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F47Cu) goto L_0892F47C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F47C: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F494u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F494u) goto L_0892F494; AOT_REGCACHE_SYNC_OUT(); return; L_0892F494: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F49C; } L_0892F49C: ctx.gpr[18] = (0u | 1u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F4ACu); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F4ACu) goto L_0892F4AC; AOT_REGCACHE_SYNC_OUT(); return; L_0892F4AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(248)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0892F4C8u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F4C8u) goto L_0892F4C8; AOT_REGCACHE_SYNC_OUT(); return; L_0892F4C8: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_4 = (aot_gpr_4 + static_cast(5000)); { const bool branch_taken = aot_gpr_5 == ctx.gpr[23]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892F500; } goto L_0892F4E4; } L_0892F4E4: ctx.gpr[8] = (16512u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F500u); ctx.gpr[7] = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F500u) goto L_0892F500; AOT_REGCACHE_SYNC_OUT(); return; L_0892F500: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[23]; if (branch_taken) { goto L_0892F544; } goto L_0892F50C; } L_0892F50C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; if (branch_taken) { goto L_0892F544; } goto L_0892F518; } L_0892F518: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_5 = (0u | 24u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0892F544; } goto L_0892F528; } L_0892F528: aot_gpr_31 = (0x0892F530u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F530u) goto L_0892F530; AOT_REGCACHE_SYNC_OUT(); return; L_0892F530: aot_gpr_31 = (0x0892F538u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F538u) goto L_0892F538; AOT_REGCACHE_SYNC_OUT(); return; L_0892F538: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(30000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1752), aot_gpr_4); goto L_0892F544; L_0892F544: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F54C; } L_0892F54C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F558u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F558u) goto L_0892F558; AOT_REGCACHE_SYNC_OUT(); return; L_0892F558: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(248)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0892F574u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F574u) goto L_0892F574; AOT_REGCACHE_SYNC_OUT(); return; L_0892F574: aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(5000)); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F5A4u); ctx.gpr[7] = (0u | 11u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F5A4u) goto L_0892F5A4; AOT_REGCACHE_SYNC_OUT(); return; L_0892F5A4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F5AC; } L_0892F5AC: aot_gpr_5 = (16512u << 16u); aot_fpr_12 = std::bit_cast(0u); ctx.gpr[20] = (2193u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (0u | 173u); ctx.gpr[22] = (0u | 157u); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (ctx.gpr[20] + static_cast(-13204)); if (branch_taken) { goto L_0892F5EC; } goto L_0892F5D0; } L_0892F5D0: aot_gpr_5 = (16512u << 16u); aot_fpr_12 = std::bit_cast(0u); ctx.gpr[20] = (2193u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (0u | 173u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-13204)); goto L_0892F5EC; L_0892F5EC: { const bool branch_taken = ctx.gpr[22] != aot_gpr_4; if (branch_taken) { goto L_0892F5F8; } goto L_0892F5F4; } L_0892F5F4: ctx.gpr[22] = (0u | 156u); goto L_0892F5F8; L_0892F5F8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F61C; } goto L_0892F600; } L_0892F600: aot_gpr_5 = (16512u << 16u); aot_fpr_12 = std::bit_cast(0u); ctx.gpr[20] = (2193u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (0u | 173u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-13204)); goto L_0892F61C; L_0892F61C: { const bool branch_taken = ctx.gpr[22] != aot_gpr_4; if (branch_taken) { goto L_0892F628; } goto L_0892F624; } L_0892F624: ctx.gpr[22] = (0u | 157u); goto L_0892F628; L_0892F628: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); if (branch_taken) { goto L_0892F644; } goto L_0892F634; } L_0892F634: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892F64C; } goto L_0892F644; } L_0892F644: aot_gpr_4 = (aot_gpr_4 + static_cast(3000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); goto L_0892F64C; L_0892F64C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F664u); ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F664u) goto L_0892F664; AOT_REGCACHE_SYNC_OUT(); return; L_0892F664: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0892F678u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 96u, 0x08890604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F678u) goto L_0892F678; AOT_REGCACHE_SYNC_OUT(); return; L_0892F678: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F680; } L_0892F680: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[7] = (16512u << 16u); ctx.gpr[21] = (2193u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 173u); ctx.gpr[22] = (0u | 153u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[20] = (0u + static_cast(-9)); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (ctx.gpr[21] + static_cast(-13204)); if (branch_taken) { goto L_0892F6C8; } goto L_0892F6A8; } L_0892F6A8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[7] = (16512u << 16u); ctx.gpr[21] = (2193u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (0u | 173u); ctx.gpr[20] = (0u + static_cast(-9)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(-13204)); goto L_0892F6C8; L_0892F6C8: { const bool branch_taken = ctx.gpr[22] != aot_gpr_5; if (branch_taken) { goto L_0892F6D4; } goto L_0892F6D0; } L_0892F6D0: ctx.gpr[22] = (0u | 15u); goto L_0892F6D4; L_0892F6D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892F6FC; } goto L_0892F6DC; } L_0892F6DC: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[7] = (16512u << 16u); ctx.gpr[21] = (2193u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (0u | 173u); ctx.gpr[20] = (0u + static_cast(-9)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(-13204)); goto L_0892F6FC; L_0892F6FC: { const bool branch_taken = ctx.gpr[22] != aot_gpr_5; if (branch_taken) { goto L_0892F708; } goto L_0892F704; } L_0892F704: ctx.gpr[22] = (0u | 14u); goto L_0892F708; L_0892F708: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892F720; } goto L_0892F710; } L_0892F710: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_5); if (branch_taken) { goto L_0892F728; } goto L_0892F720; } L_0892F720: aot_gpr_5 = (aot_gpr_6 + static_cast(3000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_5); goto L_0892F728; L_0892F728: aot_gpr_5 = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[21] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F740u); ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F740u) goto L_0892F740; AOT_REGCACHE_SYNC_OUT(); return; L_0892F740: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[20]); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 4u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 16u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0892F770u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 96u, 0x08890604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F770u) goto L_0892F770; AOT_REGCACHE_SYNC_OUT(); return; L_0892F770: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F778; } L_0892F778: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F784u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F784u) goto L_0892F784; AOT_REGCACHE_SYNC_OUT(); return; L_0892F784: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(248)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0892F7A0u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F7A0u) goto L_0892F7A0; AOT_REGCACHE_SYNC_OUT(); return; L_0892F7A0: aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(2500)); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F7D0u); ctx.gpr[7] = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F7D0u) goto L_0892F7D0; AOT_REGCACHE_SYNC_OUT(); return; L_0892F7D0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F7D8; } L_0892F7D8: ctx.gpr[8] = (16512u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F7F4u); ctx.gpr[7] = (0u | 162u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F7F4u) goto L_0892F7F4; AOT_REGCACHE_SYNC_OUT(); return; L_0892F7F4: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F80Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F80Cu) goto L_0892F80C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F80C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (2u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-31072)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892FC54; } goto L_0892F824; } L_0892F824: ctx.gpr[8] = (16512u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F840u); ctx.gpr[7] = (0u | 163u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F840u) goto L_0892F840; AOT_REGCACHE_SYNC_OUT(); return; L_0892F840: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F858u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F858u) goto L_0892F858; AOT_REGCACHE_SYNC_OUT(); return; L_0892F858: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (2u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-31072)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892FC54; } goto L_0892F870; } L_0892F870: ctx.gpr[8] = (17152u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F88Cu); ctx.gpr[7] = (0u | 164u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F88Cu) goto L_0892F88C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F88C: { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[21] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0892F8A8; } goto L_0892F894; } L_0892F894: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892F928; } goto L_0892F8A8; } L_0892F8A8: aot_gpr_4 = (18115u << 16u); aot_gpr_4 = (aot_gpr_4 | 20480u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18154u << 16u); aot_gpr_4 = (aot_gpr_4 | 24576u); aot_gpr_31 = (0x0892F8C4u); aot_fpr_22 = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F8C4u) goto L_0892F8C4; AOT_REGCACHE_SYNC_OUT(); return; L_0892F8C4: aot_fpr_12 = aot_fpr_22 - ctx.fpr[20]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; if (branch_taken) { goto L_0892F8F4; } goto L_0892F8E8; } L_0892F8E8: aot_gpr_4 = (20352u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 + ctx.fpr[15]; goto L_0892F8F4; L_0892F8F4: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_12 - aot_fpr_14; goto L_0892F914; } goto L_0892F908; L_0892F908: 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_0892F924; } goto L_0892F914; } L_0892F914: 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)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_0892F924; L_0892F924: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); goto L_0892F928; L_0892F928: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F930; } L_0892F930: ctx.gpr[8] = (16512u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892F94Cu); ctx.gpr[7] = (0u | 166u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F94Cu) goto L_0892F94C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F94C: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F964u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F964u) goto L_0892F964; AOT_REGCACHE_SYNC_OUT(); return; L_0892F964: { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); if (branch_taken) { goto L_0892F97C; } goto L_0892F96C; } L_0892F96C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892F98C; } goto L_0892F97C; } L_0892F97C: aot_gpr_5 = (2u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-31072)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); goto L_0892F98C; L_0892F98C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892F994; } L_0892F994: aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); ctx.gpr[8] = (16512u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_6 = (0u | 25u); aot_gpr_31 = (0x0892F9B8u); ctx.gpr[7] = (0u | 219u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F9B8u) goto L_0892F9B8; AOT_REGCACHE_SYNC_OUT(); return; L_0892F9B8: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F9D0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13108)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 96u, 0x08890604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F9D0u) goto L_0892F9D0; AOT_REGCACHE_SYNC_OUT(); return; L_0892F9D0: aot_gpr_4 = (18243u << 16u); aot_gpr_4 = (aot_gpr_4 | 20480u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18371u << 16u); aot_gpr_4 = (aot_gpr_4 | 20480u); aot_gpr_31 = (0x0892F9ECu); aot_fpr_22 = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F9ECu) goto L_0892F9EC; AOT_REGCACHE_SYNC_OUT(); return; L_0892F9EC: aot_fpr_12 = aot_fpr_22 - ctx.fpr[20]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = std::bit_cast(aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_13 = ctx.fpr[20] + aot_fpr_13; if (branch_taken) { goto L_0892FA1C; } goto L_0892FA10; } L_0892FA10: aot_gpr_4 = (20352u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; goto L_0892FA1C; L_0892FA1C: aot_fpr_13 = aot_fpr_14 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = aot_fpr_13 - aot_fpr_12; goto L_0892FA3C; } goto L_0892FA30; L_0892FA30: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0892FA4C; } goto L_0892FA3C; } L_0892FA3C: 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)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_0892FA4C; L_0892FA4C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892FC54; } goto L_0892FA54; } L_0892FA54: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892FA5C; } L_0892FA5C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 28u); aot_gpr_31 = (0x0892FA70u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FA70u) goto L_0892FA70; AOT_REGCACHE_SYNC_OUT(); return; L_0892FA70: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892FA78; } L_0892FA78: ctx.gpr[8] = (16512u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892FA94u); ctx.gpr[7] = (0u | 55u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FA94u) goto L_0892FA94; AOT_REGCACHE_SYNC_OUT(); return; L_0892FA94: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892FC54; } goto L_0892FAAC; } L_0892FAAC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0892FACCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FACCu) goto L_0892FACC; AOT_REGCACHE_SYNC_OUT(); return; L_0892FACC: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0892FBD4; } goto L_0892FAD8; } L_0892FAD8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 & 8192u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_0892FB04; } goto L_0892FAF0; } L_0892FAF0: aot_gpr_6 = (8u << 16u); aot_gpr_6 = (aot_gpr_5 & aot_gpr_6); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); goto L_0892FB04; L_0892FB04: { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_0892FBD4; } goto L_0892FB0C; } L_0892FB0C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[21] = (0u | 215u); if (branch_taken) { goto L_0892FB38; } goto L_0892FB1C; } L_0892FB1C: aot_gpr_6 = (8u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); ctx.gpr[21] = (0u | 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 != 0u) { ctx.gpr[21] = (0u | 218u); goto L_0892FB38; } goto L_0892FB38; L_0892FB38: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892FB48u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FB48u) goto L_0892FB48; AOT_REGCACHE_SYNC_OUT(); return; L_0892FB48: ctx.gpr[21] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[21] != 0u; if (branch_taken) { goto L_0892FBD4; } goto L_0892FB54; } L_0892FB54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (0u | 215u); aot_gpr_4 = (aot_gpr_4 + static_cast(5000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(64))); ctx.gpr[7] = (aot_gpr_6 & 8192u); ctx.gpr[7] = (0u < ctx.gpr[7] ? 1u : 0u); ctx.gpr[18] = (2193u << 16u); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[7] = (ctx.gpr[7] & 255u); { const bool branch_taken = ctx.gpr[7] != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-13204)); if (branch_taken) { goto L_0892FBA4; } goto L_0892FB88; } L_0892FB88: aot_gpr_5 = (8u << 16u); aot_gpr_6 = (aot_gpr_6 & aot_gpr_5); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 218u); goto L_0892FBA4; } goto L_0892FBA4; L_0892FBA4: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x0892FBC0u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FBC0u) goto L_0892FBC0; AOT_REGCACHE_SYNC_OUT(); return; L_0892FBC0: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892FBD4u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 96u, 0x08890604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FBD4u) goto L_0892FBD4; AOT_REGCACHE_SYNC_OUT(); return; L_0892FBD4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC54; } goto L_0892FBDC; } L_0892FBDC: ctx.gpr[8] = (16512u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0892FBF8u); ctx.gpr[7] = (0u | 156u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FBF8u) goto L_0892FBF8; AOT_REGCACHE_SYNC_OUT(); return; L_0892FBF8: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 4u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892FC28u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 96u, 0x08890604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FC28u) goto L_0892FC28; AOT_REGCACHE_SYNC_OUT(); return; L_0892FC28: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_4); if (branch_taken) { goto L_0892FC54; } goto L_0892FC3C; } L_0892FC3C: aot_gpr_31 = (0x0892FC44u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0073_entry, 73u, 396u, 0x08929C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FC44u) goto L_0892FC44; AOT_REGCACHE_SYNC_OUT(); return; L_0892FC44: aot_gpr_31 = (0x0892FC4Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 362u, 0x0890D7C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FC4Cu) goto L_0892FC4C; AOT_REGCACHE_SYNC_OUT(); return; L_0892FC4C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0892FC70; } goto L_0892FC54; } L_0892FC54: { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2236), ctx.gpr[17]); if (branch_taken) { goto L_0892FC70; } goto L_0892FC5C; } L_0892FC5C: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_0892FC70; } goto L_0892FC64; } L_0892FC64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 2u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), aot_gpr_4); goto L_0892FC70; L_0892FC70: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; 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]; aot_gpr_31 = aot_run_words[10]; } 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_0892FCA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-960)); { const std::uint32_t aot_run_words[10]{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_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(916), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (16320u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); 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 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { 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_gpr_4 = (15989u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16240u << 16u); aot_gpr_4 = (aot_gpr_4 | 25166u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16225u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16221u << 16u); aot_gpr_4 = (aot_gpr_4 | 45613u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_16 + static_cast(48)); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (std::bit_cast(aot_fpr_22)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_6 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(112)); ctx.gpr[7] = (ctx.gpr[17] + static_cast(8)); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0892FE0Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FE0Cu) goto L_0892FE0C; AOT_REGCACHE_SYNC_OUT(); return; L_0892FE0C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0892FEA4; } goto L_0892FE14; } L_0892FE14: aot_gpr_4 = (std::bit_cast(aot_fpr_22)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(160)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(112)); ctx.gpr[7] = (ctx.gpr[17] + static_cast(8)); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0892FE94u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FE94u) goto L_0892FE94; AOT_REGCACHE_SYNC_OUT(); return; L_0892FE94: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0892FEA4; } goto L_0892FE9C; } L_0892FE9C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 19u, 0x08930350u>(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_0892FEA4; } L_0892FEA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), 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(196), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_29 + static_cast(192)); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_13)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[7] = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_13)); ctx.gpr[8] = (16256u << 16u); aot_fpr_14 = std::bit_cast(ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_14)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(64)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(aot_gpr_5); 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_0892FFE8; } goto L_0892FFD0; } L_0892FFD0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0892FFFC; } goto L_0892FFE0; } L_0892FFE0: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_0892FFFC; } goto L_0892FFE8; } L_0892FFE8: 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_0892FFFC; } goto L_0892FFF8; } L_0892FFF8: aot_gpr_4 = (0u | 1u); goto L_0892FFFC; L_0892FFFC: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 4u, 0x0893002Cu>(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; } (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 2u, 0x08930004u>(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; } } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0074(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0074_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_74(Runtime &runtime) { runtime.register_generated_unit(74u, 0x0892C000u, 16384u, &recomp_unit_0074, &recomp_unit_0074_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x0892C000u, &recomp_unit_0074, "recomp_unit_0074", kEntryMasks_recomp_unit_0074, 64u); } } // namespace psprecomp