#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_0106[64] = { 0x8920040412201451ull, 0x808244028A221144ull, 0x8805144428912400ull, 0x0245220444010104ull, 0x0840000000044890ull, 0x8A00015228000000ull, 0x5348A0000202A454ull, 0x1011144048454B05ull, 0xA94A2A954AE22210ull, 0x51618410B4A42A54ull, 0x50B004150102A895ull, 0xA55522AAA9171111ull, 0x14AA2258A2296288ull, 0xC0105555488AAC51ull, 0x0A0A9145529A422Aull, 0x4409252494A85000ull, 0x4402908125282A84ull, 0xA228510A52AA8522ull, 0x10008854A2016150ull, 0x424484204942A800ull, 0x441104814A505C44ull, 0x5201504812942848ull, 0x000000108948520Aull, 0x0021502222A84400ull, 0x0400400015200401ull, 0x0000000080211120ull, 0x004214A540000000ull, 0x4004090085000002ull, 0x0000480024920120ull, 0xA0122124935210A0ull, 0x8891284000000414ull, 0x4840480148010100ull, 0x10489222254088A1ull, 0x2248152691544509ull, 0x8889451500488102ull, 0x2955480489000444ull, 0x2029000082D42000ull, 0xA554152249002800ull, 0x009252222488548Aull, 0x508A810111490800ull, 0x048A40A4054A9140ull, 0x04A4204444480A02ull, 0x002094890A508A49ull, 0x5292224251000000ull, 0x2088094002240800ull, 0x92A0642908091214ull, 0x1400100042841148ull, 0x28548140814C0490ull, 0x11208240A948010Aull, 0x2028A2880A28AA21ull, 0x0228A81141280AA2ull, 0x0002201112001001ull, 0x404408406A103684ull, 0x12288099088A902Aull, 0x1404000000404311ull, 0x8852888A50102808ull, 0x8501020501102818ull, 0x150A202A88800080ull, 0x0501149001440501ull, 0x5420004140452001ull, 0x0114884002081404ull, 0xA800414045200105ull, 0x80C0200100400000ull, 0x0002944411500000ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0106[64] = { 1u, 15u, 30u, 45u, 57u, 64u, 73u, 89u, 106u, 130u, 152u, 170u, 196u, 218u, 241u, 263u, 280u, 297u, 319u, 334u, 349u, 367u, 384u, 395u, 408u, 416u, 422u, 431u, 439u, 448u, 466u, 477u, 487u, 504u, 525u, 541u, 557u, 568u, 585u, 603u, 617u, 634u, 648u, 665u, 678u, 688u, 706u, 717u, 733u, 748u, 766u, 783u, 791u, 807u, 825u, 834u, 850u, 863u, 876u, 889u, 901u, 912u, 925u, 931u, }; void recomp_unit_0106_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,31,2,29,6 fprs=12,13,14,20 gpr_occ=4097 fpr_occ=568 gpr_total=5584 fpr_total=629 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_redispatch_rounds = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x089AC000u; entry_id = 0u; if (entry_delta < 16328u && (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_0106[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_0106[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_089AC000; case 2u: goto L_089AC010; case 3u: goto L_089AC018; case 4u: goto L_089AC028; case 5u: goto L_089AC030; case 6u: goto L_089AC054; case 7u: goto L_089AC064; case 8u: goto L_089AC070; case 9u: goto L_089AC088; case 10u: goto L_089AC0A8; case 11u: goto L_089AC0D4; case 12u: goto L_089AC0E0; case 13u: goto L_089AC0EC; case 14u: goto L_089AC0FC; case 15u: goto L_089AC108; case 16u: goto L_089AC118; case 17u: goto L_089AC120; case 18u: goto L_089AC130; case 19u: goto L_089AC144; case 20u: goto L_089AC154; case 21u: goto L_089AC164; case 22u: goto L_089AC16C; case 23u: goto L_089AC17C; case 24u: goto L_089AC184; case 25u: goto L_089AC1A8; case 26u: goto L_089AC1B8; case 27u: goto L_089AC1C4; case 28u: goto L_089AC1DC; case 29u: goto L_089AC1FC; case 30u: goto L_089AC228; case 31u: goto L_089AC234; case 32u: goto L_089AC240; case 33u: goto L_089AC250; case 34u: goto L_089AC25C; case 35u: goto L_089AC26C; case 36u: goto L_089AC274; case 37u: goto L_089AC288; case 38u: goto L_089AC298; case 39u: goto L_089AC2A8; case 40u: goto L_089AC2B0; case 41u: goto L_089AC2C0; case 42u: goto L_089AC2C8; case 43u: goto L_089AC2EC; case 44u: goto L_089AC2FC; case 45u: goto L_089AC308; case 46u: goto L_089AC320; case 47u: goto L_089AC340; case 48u: goto L_089AC368; case 49u: goto L_089AC378; case 50u: goto L_089AC388; case 51u: goto L_089AC3A4; case 52u: goto L_089AC3B4; case 53u: goto L_089AC3C0; case 54u: goto L_089AC3C8; case 55u: goto L_089AC3D8; case 56u: goto L_089AC3E4; case 57u: goto L_089AC410; case 58u: goto L_089AC41C; case 59u: goto L_089AC42C; case 60u: goto L_089AC438; case 61u: goto L_089AC448; case 62u: goto L_089AC4D8; case 63u: goto L_089AC4EC; case 64u: goto L_089AC56C; case 65u: goto L_089AC574; case 66u: goto L_089AC584; case 67u: goto L_089AC590; case 68u: goto L_089AC598; case 69u: goto L_089AC5A0; case 70u: goto L_089AC5E4; case 71u: goto L_089AC5EC; case 72u: goto L_089AC5FC; case 73u: goto L_089AC608; case 74u: goto L_089AC610; case 75u: goto L_089AC618; case 76u: goto L_089AC628; case 77u: goto L_089AC634; case 78u: goto L_089AC63C; case 79u: goto L_089AC644; case 80u: goto L_089AC664; case 81u: goto L_089AC6B4; case 82u: goto L_089AC6BC; case 83u: goto L_089AC6CC; case 84u: goto L_089AC6D8; case 85u: goto L_089AC6E0; case 86u: goto L_089AC6E4; case 87u: goto L_089AC6F0; case 88u: goto L_089AC6F8; case 89u: goto L_089AC700; case 90u: goto L_089AC708; case 91u: goto L_089AC720; case 92u: goto L_089AC724; case 93u: goto L_089AC72C; case 94u: goto L_089AC738; case 95u: goto L_089AC740; case 96u: goto L_089AC748; case 97u: goto L_089AC758; case 98u: goto L_089AC76C; case 99u: goto L_089AC778; case 100u: goto L_089AC798; case 101u: goto L_089AC7A8; case 102u: goto L_089AC7B0; case 103u: goto L_089AC7C0; case 104u: goto L_089AC7D0; case 105u: goto L_089AC7F0; case 106u: goto L_089AC810; case 107u: goto L_089AC824; case 108u: goto L_089AC834; case 109u: goto L_089AC844; case 110u: goto L_089AC854; case 111u: goto L_089AC858; case 112u: goto L_089AC85C; case 113u: goto L_089AC864; case 114u: goto L_089AC86C; case 115u: goto L_089AC878; case 116u: goto L_089AC880; case 117u: goto L_089AC888; case 118u: goto L_089AC890; case 119u: goto L_089AC89C; case 120u: goto L_089AC8A4; case 121u: goto L_089AC8AC; case 122u: goto L_089AC8B4; case 123u: goto L_089AC8C4; case 124u: goto L_089AC8CC; case 125u: goto L_089AC8D8; case 126u: goto L_089AC8E0; case 127u: goto L_089AC8EC; case 128u: goto L_089AC8F4; case 129u: goto L_089AC8FC; case 130u: goto L_089AC908; case 131u: goto L_089AC910; case 132u: goto L_089AC918; case 133u: goto L_089AC924; case 134u: goto L_089AC92C; case 135u: goto L_089AC934; case 136u: goto L_089AC948; case 137u: goto L_089AC954; case 138u: goto L_089AC95C; case 139u: goto L_089AC968; case 140u: goto L_089AC970; case 141u: goto L_089AC974; case 142u: goto L_089AC97C; case 143u: goto L_089AC990; case 144u: goto L_089AC9A8; case 145u: goto L_089AC9BC; case 146u: goto L_089AC9C0; case 147u: goto L_089AC9D4; case 148u: goto L_089AC9D8; case 149u: goto L_089AC9E0; case 150u: goto L_089AC9F0; case 151u: goto L_089AC9F8; case 152u: goto L_089ACA00; case 153u: goto L_089ACA08; case 154u: goto L_089ACA10; case 155u: goto L_089ACA1C; case 156u: goto L_089ACA2C; case 157u: goto L_089ACA34; case 158u: goto L_089ACA3C; case 159u: goto L_089ACA44; case 160u: goto L_089ACA60; case 161u: goto L_089ACA80; case 162u: goto L_089ACA88; case 163u: goto L_089ACA90; case 164u: goto L_089ACAA8; case 165u: goto L_089ACAD0; case 166u: goto L_089ACAD4; case 167u: goto L_089ACADC; case 168u: goto L_089ACAF0; case 169u: goto L_089ACAF8; case 170u: goto L_089ACB00; case 171u: goto L_089ACB10; case 172u: goto L_089ACB20; case 173u: goto L_089ACB30; case 174u: goto L_089ACB40; case 175u: goto L_089ACB44; case 176u: goto L_089ACB48; case 177u: goto L_089ACB50; case 178u: goto L_089ACB60; case 179u: goto L_089ACB6C; case 180u: goto L_089ACB74; case 181u: goto L_089ACB7C; case 182u: goto L_089ACB84; case 183u: goto L_089ACB8C; case 184u: goto L_089ACB94; case 185u: goto L_089ACB9C; case 186u: goto L_089ACBA4; case 187u: goto L_089ACBB4; case 188u: goto L_089ACBC0; case 189u: goto L_089ACBC8; case 190u: goto L_089ACBD0; case 191u: goto L_089ACBD8; case 192u: goto L_089ACBE0; case 193u: goto L_089ACBE8; case 194u: goto L_089ACBF4; case 195u: goto L_089ACBFC; case 196u: goto L_089ACC0C; case 197u: goto L_089ACC1C; case 198u: goto L_089ACC24; case 199u: goto L_089ACC34; case 200u: goto L_089ACC38; case 201u: goto L_089ACC40; case 202u: goto L_089ACC4C; case 203u: goto L_089ACC54; case 204u: goto L_089ACC64; case 205u: goto L_089ACC74; case 206u: goto L_089ACC7C; case 207u: goto L_089ACC8C; case 208u: goto L_089ACC90; case 209u: goto L_089ACC98; case 210u: goto L_089ACCA4; case 211u: goto L_089ACCB4; case 212u: goto L_089ACCC4; case 213u: goto L_089ACCCC; case 214u: goto L_089ACCD4; case 215u: goto L_089ACCDC; case 216u: goto L_089ACCE8; case 217u: goto L_089ACCF0; case 218u: goto L_089ACD00; case 219u: goto L_089ACD10; case 220u: goto L_089ACD18; case 221u: goto L_089ACD28; case 222u: goto L_089ACD2C; case 223u: goto L_089ACD34; case 224u: goto L_089ACD3C; case 225u: goto L_089ACD44; case 226u: goto L_089ACD4C; case 227u: goto L_089ACD5C; case 228u: goto L_089ACD6C; case 229u: goto L_089ACD78; case 230u: goto L_089ACD80; case 231u: goto L_089ACD88; case 232u: goto L_089ACD90; case 233u: goto L_089ACD98; case 234u: goto L_089ACDA0; case 235u: goto L_089ACDA8; case 236u: goto L_089ACDB0; case 237u: goto L_089ACDB8; case 238u: goto L_089ACDD0; case 239u: goto L_089ACDF8; case 240u: goto L_089ACDFC; case 241u: goto L_089ACE04; case 242u: goto L_089ACE0C; case 243u: goto L_089ACE14; case 244u: goto L_089ACE24; case 245u: goto L_089ACE38; case 246u: goto L_089ACE44; case 247u: goto L_089ACE4C; case 248u: goto L_089ACE50; case 249u: goto L_089ACE5C; case 250u: goto L_089ACE64; case 251u: goto L_089ACE70; case 252u: goto L_089ACE78; case 253u: goto L_089ACE80; case 254u: goto L_089ACE88; case 255u: goto L_089ACE98; case 256u: goto L_089ACEA0; case 257u: goto L_089ACEB0; case 258u: goto L_089ACEBC; case 259u: goto L_089ACEC4; case 260u: goto L_089ACECC; case 261u: goto L_089ACEE4; case 262u: goto L_089ACEEC; case 263u: goto L_089ACF30; case 264u: goto L_089ACF38; case 265u: goto L_089ACF4C; case 266u: goto L_089ACF54; case 267u: goto L_089ACF5C; case 268u: goto L_089ACF68; case 269u: goto L_089ACF70; case 270u: goto L_089ACF7C; case 271u: goto L_089ACF88; case 272u: goto L_089ACF94; case 273u: goto L_089ACFA0; case 274u: goto L_089ACFA8; case 275u: goto L_089ACFB4; case 276u: goto L_089ACFC0; case 277u: goto L_089ACFCC; case 278u: goto L_089ACFE8; case 279u: goto L_089ACFF8; case 280u: goto L_089AD008; case 281u: goto L_089AD01C; case 282u: goto L_089AD024; case 283u: goto L_089AD02C; case 284u: goto L_089AD034; case 285u: goto L_089AD04C; case 286u: goto L_089AD054; case 287u: goto L_089AD060; case 288u: goto L_089AD068; case 289u: goto L_089AD074; case 290u: goto L_089AD080; case 291u: goto L_089AD09C; case 292u: goto L_089AD0B0; case 293u: goto L_089AD0BC; case 294u: goto L_089AD0C4; case 295u: goto L_089AD0E8; case 296u: goto L_089AD0F8; case 297u: goto L_089AD104; case 298u: goto L_089AD114; case 299u: goto L_089AD120; case 300u: goto L_089AD128; case 301u: goto L_089AD13C; case 302u: goto L_089AD144; case 303u: goto L_089AD14C; case 304u: goto L_089AD154; case 305u: goto L_089AD15C; case 306u: goto L_089AD164; case 307u: goto L_089AD170; case 308u: goto L_089AD178; case 309u: goto L_089AD184; case 310u: goto L_089AD18C; case 311u: goto L_089AD1A0; case 312u: goto L_089AD1B0; case 313u: goto L_089AD1B8; case 314u: goto L_089AD1CC; case 315u: goto L_089AD1D4; case 316u: goto L_089AD1E4; case 317u: goto L_089AD1F4; case 318u: goto L_089AD1FC; case 319u: goto L_089AD210; case 320u: goto L_089AD218; case 321u: goto L_089AD220; case 322u: goto L_089AD234; case 323u: goto L_089AD238; case 324u: goto L_089AD240; case 325u: goto L_089AD264; case 326u: goto L_089AD274; case 327u: goto L_089AD27C; case 328u: goto L_089AD288; case 329u: goto L_089AD290; case 330u: goto L_089AD298; case 331u: goto L_089AD2AC; case 332u: goto L_089AD2BC; case 333u: goto L_089AD2F0; case 334u: goto L_089AD32C; case 335u: goto L_089AD334; case 336u: goto L_089AD33C; case 337u: goto L_089AD344; case 338u: goto L_089AD358; case 339u: goto L_089AD360; case 340u: goto L_089AD36C; case 341u: goto L_089AD378; case 342u: goto L_089AD394; case 343u: goto L_089AD3A8; case 344u: goto L_089AD3BC; case 345u: goto L_089AD3C8; case 346u: goto L_089AD3D8; case 347u: goto L_089AD3E4; case 348u: goto L_089AD3F8; case 349u: goto L_089AD408; case 350u: goto L_089AD418; case 351u: goto L_089AD428; case 352u: goto L_089AD42C; case 353u: goto L_089AD430; case 354u: goto L_089AD438; case 355u: goto L_089AD450; case 356u: goto L_089AD458; case 357u: goto L_089AD464; case 358u: goto L_089AD46C; case 359u: goto L_089AD478; case 360u: goto L_089AD480; case 361u: goto L_089AD49C; case 362u: goto L_089AD4A8; case 363u: goto L_089AD4C0; case 364u: goto L_089AD4D0; case 365u: goto L_089AD4E8; case 366u: goto L_089AD4F8; case 367u: goto L_089AD50C; case 368u: goto L_089AD518; case 369u: goto L_089AD52C; case 370u: goto L_089AD534; case 371u: goto L_089AD548; case 372u: goto L_089AD550; case 373u: goto L_089AD55C; case 374u: goto L_089AD564; case 375u: goto L_089AD570; case 376u: goto L_089AD58C; case 377u: goto L_089AD598; case 378u: goto L_089AD5B0; case 379u: goto L_089AD5B8; case 380u: goto L_089AD5C0; case 381u: goto L_089AD5E4; case 382u: goto L_089AD5F0; case 383u: goto L_089AD5F8; case 384u: goto L_089AD604; case 385u: goto L_089AD60C; case 386u: goto L_089AD624; case 387u: goto L_089AD630; case 388u: goto L_089AD638; case 389u: goto L_089AD64C; case 390u: goto L_089AD658; case 391u: goto L_089AD660; case 392u: goto L_089AD66C; case 393u: goto L_089AD67C; case 394u: goto L_089AD690; case 395u: goto L_089AD728; case 396u: goto L_089AD738; case 397u: goto L_089AD74C; case 398u: goto L_089AD754; case 399u: goto L_089AD75C; case 400u: goto L_089AD764; case 401u: goto L_089AD774; case 402u: goto L_089AD784; case 403u: goto L_089AD794; case 404u: goto L_089AD7B0; case 405u: goto L_089AD7B8; case 406u: goto L_089AD7C0; case 407u: goto L_089AD7D4; case 408u: goto L_089AD800; case 409u: goto L_089AD828; case 410u: goto L_089AD854; case 411u: goto L_089AD860; case 412u: goto L_089AD868; case 413u: goto L_089AD870; case 414u: goto L_089AD8B8; case 415u: goto L_089AD8E8; case 416u: goto L_089AD914; case 417u: goto L_089AD920; case 418u: goto L_089AD930; case 419u: goto L_089AD940; case 420u: goto L_089AD954; case 421u: goto L_089AD97C; case 422u: goto L_089ADA78; case 423u: goto L_089ADA80; case 424u: goto L_089ADA88; case 425u: goto L_089ADA94; case 426u: goto L_089ADA9C; case 427u: goto L_089ADAA8; case 428u: goto L_089ADAB0; case 429u: goto L_089ADAC4; case 430u: goto L_089ADAD8; case 431u: goto L_089ADB04; case 432u: goto L_089ADB60; case 433u: goto L_089ADB68; case 434u: goto L_089ADB7C; case 435u: goto L_089ADBA0; case 436u: goto L_089ADBAC; case 437u: goto L_089ADBC8; case 438u: goto L_089ADBF8; case 439u: goto L_089ADC14; case 440u: goto L_089ADC20; case 441u: goto L_089ADC44; case 442u: goto L_089ADC50; case 443u: goto L_089ADC5C; case 444u: goto L_089ADC68; case 445u: goto L_089ADC74; case 446u: goto L_089ADCAC; case 447u: goto L_089ADCB8; case 448u: goto L_089ADD14; case 449u: goto L_089ADD1C; case 450u: goto L_089ADD30; case 451u: goto L_089ADD44; case 452u: goto L_089ADD50; case 453u: goto L_089ADD58; case 454u: goto L_089ADD60; case 455u: goto L_089ADD64; case 456u: goto L_089ADD70; case 457u: goto L_089ADD7C; case 458u: goto L_089ADD88; case 459u: goto L_089ADD94; case 460u: goto L_089ADDA0; case 461u: goto L_089ADDB4; case 462u: goto L_089ADDC4; case 463u: goto L_089ADDD0; case 464u: goto L_089ADDF4; case 465u: goto L_089ADDFC; case 466u: goto L_089ADE08; case 467u: goto L_089ADE10; case 468u: goto L_089ADE28; case 469u: goto L_089ADE98; case 470u: goto L_089ADEAC; case 471u: goto L_089ADEB4; case 472u: goto L_089ADEC0; case 473u: goto L_089ADED0; case 474u: goto L_089ADEDC; case 475u: goto L_089ADEEC; case 476u: goto L_089ADEFC; case 477u: goto L_089ADF20; case 478u: goto L_089ADF40; case 479u: goto L_089ADF6C; case 480u: goto L_089ADF78; case 481u: goto L_089ADF80; case 482u: goto L_089ADFAC; case 483u: goto L_089ADFB8; case 484u: goto L_089ADFD8; case 485u: goto L_089ADFEC; case 486u: goto L_089ADFF8; case 487u: goto L_089AE000; case 488u: goto L_089AE014; case 489u: goto L_089AE01C; case 490u: goto L_089AE02C; case 491u: goto L_089AE03C; case 492u: goto L_089AE058; case 493u: goto L_089AE060; case 494u: goto L_089AE068; case 495u: goto L_089AE074; case 496u: goto L_089AE084; case 497u: goto L_089AE094; case 498u: goto L_089AE0A4; case 499u: goto L_089AE0B0; case 500u: goto L_089AE0BC; case 501u: goto L_089AE0CC; case 502u: goto L_089AE0D8; case 503u: goto L_089AE0F0; case 504u: goto L_089AE100; case 505u: goto L_089AE10C; case 506u: goto L_089AE120; case 507u: goto L_089AE128; case 508u: goto L_089AE138; case 509u: goto L_089AE148; case 510u: goto L_089AE150; case 511u: goto L_089AE158; case 512u: goto L_089AE160; case 513u: goto L_089AE170; case 514u: goto L_089AE17C; case 515u: goto L_089AE184; case 516u: goto L_089AE188; case 517u: goto L_089AE194; case 518u: goto L_089AE1A0; case 519u: goto L_089AE1A8; case 520u: goto L_089AE1B0; case 521u: goto L_089AE1CC; case 522u: goto L_089AE1D8; case 523u: goto L_089AE1E4; case 524u: goto L_089AE1F4; case 525u: goto L_089AE204; case 526u: goto L_089AE220; case 527u: goto L_089AE23C; case 528u: goto L_089AE24C; case 529u: goto L_089AE258; case 530u: goto L_089AE280; case 531u: goto L_089AE288; case 532u: goto L_089AE290; case 533u: goto L_089AE2A0; case 534u: goto L_089AE2A8; case 535u: goto L_089AE2B8; case 536u: goto L_089AE2C0; case 537u: goto L_089AE2CC; case 538u: goto L_089AE2DC; case 539u: goto L_089AE2EC; case 540u: goto L_089AE2FC; case 541u: goto L_089AE308; case 542u: goto L_089AE318; case 543u: goto L_089AE328; case 544u: goto L_089AE360; case 545u: goto L_089AE36C; case 546u: goto L_089AE37C; case 547u: goto L_089AE388; case 548u: goto L_089AE3AC; case 549u: goto L_089AE3B8; case 550u: goto L_089AE3C0; case 551u: goto L_089AE3C8; case 552u: goto L_089AE3D0; case 553u: goto L_089AE3D8; case 554u: goto L_089AE3E0; case 555u: goto L_089AE3EC; case 556u: goto L_089AE3F4; case 557u: goto L_089AE434; case 558u: goto L_089AE448; case 559u: goto L_089AE450; case 560u: goto L_089AE458; case 561u: goto L_089AE45C; case 562u: goto L_089AE464; case 563u: goto L_089AE47C; case 564u: goto L_089AE4C0; case 565u: goto L_089AE4CC; case 566u: goto L_089AE4D4; case 567u: goto L_089AE4F4; case 568u: goto L_089AE52C; case 569u: goto L_089AE534; case 570u: goto L_089AE560; case 571u: goto L_089AE56C; case 572u: goto L_089AE578; case 573u: goto L_089AE584; case 574u: goto L_089AE594; case 575u: goto L_089AE5A0; case 576u: goto L_089AE5A8; case 577u: goto L_089AE5B0; case 578u: goto L_089AE5C8; case 579u: goto L_089AE5D0; case 580u: goto L_089AE5D8; case 581u: goto L_089AE5E0; case 582u: goto L_089AE5E8; case 583u: goto L_089AE5F4; case 584u: goto L_089AE5FC; case 585u: goto L_089AE604; case 586u: goto L_089AE60C; case 587u: goto L_089AE61C; case 588u: goto L_089AE628; case 589u: goto L_089AE630; case 590u: goto L_089AE638; case 591u: goto L_089AE64C; case 592u: goto L_089AE65C; case 593u: goto L_089AE668; case 594u: goto L_089AE674; case 595u: goto L_089AE684; case 596u: goto L_089AE694; case 597u: goto L_089AE6A4; case 598u: goto L_089AE6B0; case 599u: goto L_089AE6B8; case 600u: goto L_089AE6C4; case 601u: goto L_089AE6D0; case 602u: goto L_089AE6DC; case 603u: goto L_089AE72C; case 604u: goto L_089AE740; case 605u: goto L_089AE74C; case 606u: goto L_089AE758; case 607u: goto L_089AE760; case 608u: goto L_089AE770; case 609u: goto L_089AE780; case 610u: goto L_089AE7A0; case 611u: goto L_089AE7BC; case 612u: goto L_089AE7C4; case 613u: goto L_089AE7CC; case 614u: goto L_089AE7DC; case 615u: goto L_089AE7F0; case 616u: goto L_089AE7F8; case 617u: goto L_089AE818; case 618u: goto L_089AE820; case 619u: goto L_089AE830; case 620u: goto L_089AE83C; case 621u: goto L_089AE844; case 622u: goto L_089AE84C; case 623u: goto L_089AE858; case 624u: goto L_089AE860; case 625u: goto L_089AE868; case 626u: goto L_089AE888; case 627u: goto L_089AE894; case 628u: goto L_089AE89C; case 629u: goto L_089AE8B8; case 630u: goto L_089AE8C4; case 631u: goto L_089AE8CC; case 632u: goto L_089AE8DC; case 633u: goto L_089AE8E8; case 634u: goto L_089AE904; case 635u: goto L_089AE924; case 636u: goto L_089AE92C; case 637u: goto L_089AE94C; case 638u: goto L_089AE958; case 639u: goto L_089AE968; case 640u: goto L_089AE978; case 641u: goto L_089AE988; case 642u: goto L_089AE998; case 643u: goto L_089AE9B4; case 644u: goto L_089AE9C8; case 645u: goto L_089AE9D4; case 646u: goto L_089AE9DC; case 647u: goto L_089AE9E8; case 648u: goto L_089AEA00; case 649u: goto L_089AEA0C; case 650u: goto L_089AEA18; case 651u: goto L_089AEA24; case 652u: goto L_089AEA2C; case 653u: goto L_089AEA3C; case 654u: goto L_089AEA50; case 655u: goto L_089AEA58; case 656u: goto L_089AEA64; case 657u: goto L_089AEA6C; case 658u: goto L_089AEA80; case 659u: goto L_089AEA8C; case 660u: goto L_089AEA9C; case 661u: goto L_089AEAA8; case 662u: goto L_089AEAB0; case 663u: goto L_089AEABC; case 664u: goto L_089AEAD4; case 665u: goto L_089AEB60; case 666u: goto L_089AEB70; case 667u: goto L_089AEB78; case 668u: goto L_089AEB84; case 669u: goto L_089AEB98; case 670u: goto L_089AEBA4; case 671u: goto L_089AEBB4; case 672u: goto L_089AEBC4; case 673u: goto L_089AEBD0; case 674u: goto L_089AEBDC; case 675u: goto L_089AEBE4; case 676u: goto L_089AEBF0; case 677u: goto L_089AEBF8; case 678u: goto L_089AEC2C; case 679u: goto L_089AEC48; case 680u: goto L_089AEC54; case 681u: goto L_089AEC64; case 682u: goto L_089AEC98; case 683u: goto L_089AECA0; case 684u: goto L_089AECAC; case 685u: goto L_089AECCC; case 686u: goto L_089AECDC; case 687u: goto L_089AECF4; case 688u: goto L_089AED08; case 689u: goto L_089AED10; case 690u: goto L_089AED24; case 691u: goto L_089AED30; case 692u: goto L_089AED40; case 693u: goto L_089AED4C; case 694u: goto L_089AED6C; case 695u: goto L_089AED80; case 696u: goto L_089AED8C; case 697u: goto L_089AED94; case 698u: goto L_089AEDA8; case 699u: goto L_089AEDB4; case 700u: goto L_089AEDB8; case 701u: goto L_089AEDD4; case 702u: goto L_089AEDDC; case 703u: goto L_089AEDE4; case 704u: goto L_089AEDF0; case 705u: goto L_089AEDFC; case 706u: goto L_089AEE0C; case 707u: goto L_089AEE18; case 708u: goto L_089AEE20; case 709u: goto L_089AEE30; case 710u: goto L_089AEE48; case 711u: goto L_089AEE5C; case 712u: goto L_089AEE64; case 713u: goto L_089AEE78; case 714u: goto L_089AEEB0; case 715u: goto L_089AEEE8; case 716u: goto L_089AEEF0; case 717u: goto L_089AEF10; case 718u: goto L_089AEF1C; case 719u: goto L_089AEF28; case 720u: goto L_089AEF48; case 721u: goto L_089AEF4C; case 722u: goto L_089AEF58; case 723u: goto L_089AEF60; case 724u: goto L_089AEF7C; case 725u: goto L_089AEF98; case 726u: goto L_089AEFA0; case 727u: goto L_089AEFBC; case 728u: goto L_089AEFC8; case 729u: goto L_089AEFD0; case 730u: goto L_089AEFD8; case 731u: goto L_089AEFEC; case 732u: goto L_089AEFF4; case 733u: goto L_089AF004; case 734u: goto L_089AF00C; case 735u: goto L_089AF020; case 736u: goto L_089AF04C; case 737u: goto L_089AF058; case 738u: goto L_089AF060; case 739u: goto L_089AF06C; case 740u: goto L_089AF074; case 741u: goto L_089AF07C; case 742u: goto L_089AF098; case 743u: goto L_089AF0A4; case 744u: goto L_089AF0BC; case 745u: goto L_089AF0D4; case 746u: goto L_089AF0E0; case 747u: goto L_089AF0F0; case 748u: goto L_089AF100; case 749u: goto L_089AF114; case 750u: goto L_089AF124; case 751u: goto L_089AF12C; case 752u: goto L_089AF134; case 753u: goto L_089AF13C; case 754u: goto L_089AF14C; case 755u: goto L_089AF154; case 756u: goto L_089AF164; case 757u: goto L_089AF16C; case 758u: goto L_089AF18C; case 759u: goto L_089AF19C; case 760u: goto L_089AF1A4; case 761u: goto L_089AF1B4; case 762u: goto L_089AF1BC; case 763u: goto L_089AF1CC; case 764u: goto L_089AF1D4; case 765u: goto L_089AF1F4; case 766u: goto L_089AF204; case 767u: goto L_089AF214; case 768u: goto L_089AF21C; case 769u: goto L_089AF224; case 770u: goto L_089AF22C; case 771u: goto L_089AF24C; case 772u: goto L_089AF254; case 773u: goto L_089AF260; case 774u: goto L_089AF278; case 775u: goto L_089AF280; case 776u: goto L_089AF290; case 777u: goto L_089AF2AC; case 778u: goto L_089AF2B4; case 779u: goto L_089AF2BC; case 780u: goto L_089AF2CC; case 781u: goto L_089AF2D4; case 782u: goto L_089AF2E4; case 783u: goto L_089AF300; case 784u: goto L_089AF330; case 785u: goto L_089AF364; case 786u: goto L_089AF370; case 787u: goto L_089AF380; case 788u: goto L_089AF390; case 789u: goto L_089AF3B4; case 790u: goto L_089AF3C4; case 791u: goto L_089AF408; case 792u: goto L_089AF41C; case 793u: goto L_089AF424; case 794u: goto L_089AF428; case 795u: goto L_089AF430; case 796u: goto L_089AF434; case 797u: goto L_089AF450; case 798u: goto L_089AF464; case 799u: goto L_089AF46C; case 800u: goto L_089AF474; case 801u: goto L_089AF478; case 802u: goto L_089AF498; case 803u: goto L_089AF4AC; case 804u: goto L_089AF4C8; case 805u: goto L_089AF4D8; case 806u: goto L_089AF4F8; case 807u: goto L_089AF504; case 808u: goto L_089AF50C; case 809u: goto L_089AF514; case 810u: goto L_089AF530; case 811u: goto L_089AF53C; case 812u: goto L_089AF544; case 813u: goto L_089AF54C; case 814u: goto L_089AF55C; case 815u: goto L_089AF56C; case 816u: goto L_089AF580; case 817u: goto L_089AF58C; case 818u: goto L_089AF590; case 819u: goto L_089AF59C; case 820u: goto L_089AF5BC; case 821u: goto L_089AF5CC; case 822u: goto L_089AF5D4; case 823u: goto L_089AF5E4; case 824u: goto L_089AF5F0; case 825u: goto L_089AF600; case 826u: goto L_089AF610; case 827u: goto L_089AF620; case 828u: goto L_089AF624; case 829u: goto L_089AF638; case 830u: goto L_089AF658; case 831u: goto L_089AF6C8; case 832u: goto L_089AF6E8; case 833u: goto L_089AF6F0; case 834u: goto L_089AF70C; case 835u: goto L_089AF72C; case 836u: goto L_089AF734; case 837u: goto L_089AF750; case 838u: goto L_089AF770; case 839u: goto L_089AF778; case 840u: goto L_089AF784; case 841u: goto L_089AF78C; case 842u: goto L_089AF79C; case 843u: goto L_089AF7AC; case 844u: goto L_089AF7BC; case 845u: goto L_089AF7C4; case 846u: goto L_089AF7D0; case 847u: goto L_089AF7D8; case 848u: goto L_089AF7EC; case 849u: goto L_089AF7FC; case 850u: goto L_089AF80C; case 851u: goto L_089AF810; case 852u: goto L_089AF82C; case 853u: goto L_089AF834; case 854u: goto L_089AF850; case 855u: goto L_089AF860; case 856u: goto L_089AF880; case 857u: goto L_089AF888; case 858u: goto L_089AF8A4; case 859u: goto L_089AF8C0; case 860u: goto L_089AF8E0; case 861u: goto L_089AF8E8; case 862u: goto L_089AF8FC; case 863u: goto L_089AF91C; case 864u: goto L_089AF95C; case 865u: goto L_089AF96C; case 866u: goto L_089AF97C; case 867u: goto L_089AF984; case 868u: goto L_089AF98C; case 869u: goto L_089AF994; case 870u: goto L_089AF9B4; case 871u: goto L_089AF9C4; case 872u: goto L_089AF9CC; case 873u: goto L_089AF9E0; case 874u: goto L_089AF9E8; case 875u: goto L_089AF9F0; case 876u: goto L_089AFA00; case 877u: goto L_089AFA20; case 878u: goto L_089AFA28; case 879u: goto L_089AFA48; case 880u: goto L_089AFA58; case 881u: goto L_089AFA60; case 882u: goto L_089AFA90; case 883u: goto L_089AFA9C; case 884u: goto L_089AFAA8; case 885u: goto L_089AFAB0; case 886u: goto L_089AFAC0; case 887u: goto L_089AFAE0; case 888u: goto L_089AFAE8; case 889u: goto L_089AFB00; case 890u: goto L_089AFB34; case 891u: goto L_089AFB40; case 892u: goto L_089AFB48; case 893u: goto L_089AFB58; case 894u: goto L_089AFB78; case 895u: goto L_089AFB80; case 896u: goto L_089AFB98; case 897u: goto L_089AFBD4; case 898u: goto L_089AFBE8; case 899u: goto L_089AFBF0; case 900u: goto L_089AFBF8; case 901u: goto L_089AFC08; case 902u: goto L_089AFC28; case 903u: goto L_089AFC30; case 904u: goto L_089AFC4C; case 905u: goto L_089AFC64; case 906u: goto L_089AFC98; case 907u: goto L_089AFCAC; case 908u: goto L_089AFCBC; case 909u: goto L_089AFCC8; case 910u: goto L_089AFCD0; case 911u: goto L_089AFCE0; case 912u: goto L_089AFD00; case 913u: goto L_089AFD08; case 914u: goto L_089AFD20; case 915u: goto L_089AFD54; case 916u: goto L_089AFD60; case 917u: goto L_089AFD68; case 918u: goto L_089AFD78; case 919u: goto L_089AFD98; case 920u: goto L_089AFDA0; case 921u: goto L_089AFDB8; case 922u: goto L_089AFDEC; case 923u: goto L_089AFDF4; case 924u: goto L_089AFDFC; case 925u: goto L_089AFE58; case 926u: goto L_089AFE80; case 927u: goto L_089AFEB4; case 928u: goto L_089AFED8; case 929u: goto L_089AFEDC; case 930u: goto L_089AFEFC; case 931u: goto L_089AFF50; case 932u: goto L_089AFF58; case 933u: goto L_089AFF60; case 934u: goto L_089AFF70; case 935u: goto L_089AFF88; case 936u: goto L_089AFF98; case 937u: goto L_089AFFA8; case 938u: goto L_089AFFB0; case 939u: goto L_089AFFBC; case 940u: goto L_089AFFC4; 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_089AC000: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089AC018; } goto L_089AC010; } L_089AC010: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(96)); if (branch_taken) { goto L_089AC030; } goto L_089AC018; } L_089AC018: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 2u); if (aot_gpr_4 != aot_gpr_5) { ctx.gpr[19] = (ctx.gpr[19] + static_cast(160)); goto L_089AC030; } goto L_089AC028; L_089AC028: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(96)); if (branch_taken) { goto L_089AC030; } goto L_089AC030; } L_089AC030: { 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(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (aot_gpr_29 + static_cast(256)); if (branch_taken) { goto L_089AC070; } goto L_089AC054; } L_089AC054: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(417)); aot_gpr_31 = (0x089AC064u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC064u) goto L_089AC064; AOT_REGCACHE_SYNC_OUT(); return; L_089AC064: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(417))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC070; L_089AC070: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); ctx.gpr[20] = (aot_gpr_29 + static_cast(272)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC088u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC088u) goto L_089AC088; AOT_REGCACHE_SYNC_OUT(); return; L_089AC088: ctx.gpr[19] = (aot_gpr_29 + static_cast(256)); { 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(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(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC0A8u); aot_gpr_6 = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC0A8u) goto L_089AC0A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0A8: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[19] = (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 = 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[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC0D4u); aot_gpr_6 = (0u | 61u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC0D4u) goto L_089AC0D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0D4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC0E0u); aot_gpr_5 = (aot_gpr_2 | 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 == 0x089AC0E0u) goto L_089AC0E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); if (branch_taken) { goto L_089AC108; } goto L_089AC0EC; } L_089AC0EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(448)); aot_gpr_31 = (0x089AC0FCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC0FCu) goto L_089AC0FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0FC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(448))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC108; L_089AC108: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC118u); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); 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 == 0x089AC118u) goto L_089AC118; AOT_REGCACHE_SYNC_OUT(); return; L_089AC118: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AC448; } goto L_089AC120; } L_089AC120: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(380))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AC274; } goto L_089AC130; } L_089AC130: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_089AC154; } goto L_089AC144; } L_089AC144: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089AC154; L_089AC154: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089AC16C; } goto L_089AC164; } L_089AC164: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(96)); if (branch_taken) { goto L_089AC184; } goto L_089AC16C; } L_089AC16C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 2u); if (aot_gpr_4 != aot_gpr_5) { ctx.gpr[19] = (ctx.gpr[19] + static_cast(160)); goto L_089AC184; } goto L_089AC17C; L_089AC17C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(96)); if (branch_taken) { goto L_089AC184; } goto L_089AC184; } L_089AC184: { 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(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (aot_gpr_29 + static_cast(288)); if (branch_taken) { goto L_089AC1C4; } goto L_089AC1A8; } L_089AC1A8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(449)); aot_gpr_31 = (0x089AC1B8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC1B8u) goto L_089AC1B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC1B8: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(449))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC1C4; L_089AC1C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); ctx.gpr[20] = (aot_gpr_29 + static_cast(304)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC1DCu); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC1DCu) goto L_089AC1DC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC1DC: ctx.gpr[19] = (aot_gpr_29 + static_cast(288)); { 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(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(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC1FCu); aot_gpr_6 = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC1FCu) goto L_089AC1FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC1FC: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[19] = (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 = 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[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC228u); aot_gpr_6 = (0u | 120u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC228u) goto L_089AC228; AOT_REGCACHE_SYNC_OUT(); return; L_089AC228: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC234u); aot_gpr_5 = (aot_gpr_2 | 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 == 0x089AC234u) goto L_089AC234; AOT_REGCACHE_SYNC_OUT(); return; L_089AC234: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); if (branch_taken) { goto L_089AC25C; } goto L_089AC240; } L_089AC240: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(480)); aot_gpr_31 = (0x089AC250u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC250u) goto L_089AC250; AOT_REGCACHE_SYNC_OUT(); return; L_089AC250: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(480))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC25C; L_089AC25C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC26Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); 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 == 0x089AC26Cu) goto L_089AC26C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC26C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AC448; } goto L_089AC274; } L_089AC274: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_089AC298; } goto L_089AC288; } L_089AC288: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089AC298; L_089AC298: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089AC2B0; } goto L_089AC2A8; } L_089AC2A8: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(96)); if (branch_taken) { goto L_089AC2C8; } goto L_089AC2B0; } L_089AC2B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); aot_gpr_5 = (0u | 2u); if (aot_gpr_4 != aot_gpr_5) { ctx.gpr[18] = (ctx.gpr[18] + static_cast(160)); goto L_089AC2C8; } goto L_089AC2C0; L_089AC2C0: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(96)); if (branch_taken) { goto L_089AC2C8; } goto L_089AC2C8; } L_089AC2C8: { 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(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); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(336))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(320)); if (branch_taken) { goto L_089AC308; } goto L_089AC2EC; } L_089AC2EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(481)); aot_gpr_31 = (0x089AC2FCu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC2FCu) goto L_089AC2FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC2FC: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(481))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC308; L_089AC308: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); ctx.gpr[20] = (aot_gpr_29 + static_cast(336)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AC320u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC320u) goto L_089AC320; AOT_REGCACHE_SYNC_OUT(); return; L_089AC320: ctx.gpr[18] = (aot_gpr_29 + static_cast(320)); { 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(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(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC340u); aot_gpr_6 = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC340u) goto L_089AC340; AOT_REGCACHE_SYNC_OUT(); return; L_089AC340: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { 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(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); goto L_089AC388; } goto L_089AC368; L_089AC368: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(512)); aot_gpr_31 = (0x089AC378u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC378u) goto L_089AC378; AOT_REGCACHE_SYNC_OUT(); return; L_089AC378: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(512))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); goto L_089AC388; L_089AC388: aot_gpr_4 = (aot_gpr_4 + static_cast(760)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(10))); aot_gpr_4 = (aot_gpr_4 ^ 3u); 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_089AC3C8; } goto L_089AC3A4; } L_089AC3A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC3B4u); aot_gpr_6 = (0u | 64u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC3B4u) goto L_089AC3B4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3B4: aot_gpr_4 = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x089AC3C0u); aot_gpr_5 = (aot_gpr_2 | 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 == 0x089AC3C0u) goto L_089AC3C0; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3C0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AC410; } goto L_089AC3C8; } L_089AC3C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC3D8u); aot_gpr_6 = (0u | 61u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC3D8u) goto L_089AC3D8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3D8: aot_gpr_4 = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x089AC3E4u); aot_gpr_5 = (aot_gpr_2 | 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 == 0x089AC3E4u) goto L_089AC3E4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3E4: aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_gpr_4 = (15948u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_14)); goto L_089AC410; L_089AC410: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); if (branch_taken) { goto L_089AC438; } goto L_089AC41C; } L_089AC41C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(513)); aot_gpr_31 = (0x089AC42Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC42Cu) goto L_089AC42C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC42C: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(513))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC438; L_089AC438: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AC448u); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); 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 == 0x089AC448u) goto L_089AC448; AOT_REGCACHE_SYNC_OUT(); return; L_089AC448: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<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_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<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); { 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(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); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_gpr_4 = (16128u << 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(152), std::bit_cast(aot_fpr_12)); 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 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16025u << 16u); if (branch_taken) { goto L_089AC4EC; } goto L_089AC4D8; } L_089AC4D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); 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(152), std::bit_cast(aot_fpr_12)); goto L_089AC4EC; L_089AC4EC: aot_gpr_4 = (aot_gpr_29 + static_cast(160)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16153u << 16u); aot_gpr_5 = (aot_gpr_5 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_13 = aot_fpr_12 + aot_fpr_13; aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (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_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(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); } { 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(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); } aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); 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 = (0x089AC56Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC56Cu) goto L_089AC56C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC56C: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AC5A0; } goto L_089AC574; } L_089AC574: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC610; } goto L_089AC584; } L_089AC584: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC610; } goto L_089AC590; } L_089AC590: aot_gpr_31 = (0x089AC598u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC598u) goto L_089AC598; AOT_REGCACHE_SYNC_OUT(); return; L_089AC598: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AC610; } goto L_089AC5A0; } L_089AC5A0: aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(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 = (16153u << 16u); aot_gpr_5 = (aot_gpr_5 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (ctx.gpr[16] | 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 = (0x089AC5E4u); 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 == 0x089AC5E4u) goto L_089AC5E4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC5E4: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AC618; } goto L_089AC5EC; } L_089AC5EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC610; } goto L_089AC5FC; } L_089AC5FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC610; } goto L_089AC608; } L_089AC608: aot_gpr_31 = (0x089AC610u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC610u) goto L_089AC610; AOT_REGCACHE_SYNC_OUT(); return; L_089AC610: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089AC644; } goto L_089AC618; } L_089AC618: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC63C; } goto L_089AC628; } L_089AC628: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC63C; } goto L_089AC634; } L_089AC634: aot_gpr_31 = (0x089AC63Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC63Cu) goto L_089AC63C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC63C: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AC644; } goto L_089AC644; } L_089AC644: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(612), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(640)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AC664: aot_gpr_29 = (aot_gpr_29 + static_cast(-224)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[30]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(165), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[30] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(188), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), aot_gpr_31); aot_gpr_31 = (0x089AC6B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC6B4u) goto L_089AC6B4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC6B4: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AC6E0; } goto L_089AC6BC; } L_089AC6BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AC6E0; } goto L_089AC6CC; } L_089AC6CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AC6E0; } goto L_089AC6D8; } L_089AC6D8: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_089AC6E4; } goto L_089AC6E0; } L_089AC6E0: aot_gpr_4 = (0u | 0u); goto L_089AC6E4; L_089AC6E4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089AC6F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 339u, 0x08B012BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC6F0u) goto L_089AC6F0; AOT_REGCACHE_SYNC_OUT(); return; L_089AC6F0: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AC7B0; } goto L_089AC6F8; } L_089AC6F8: aot_gpr_31 = (0x089AC700u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC700u) goto L_089AC700; AOT_REGCACHE_SYNC_OUT(); return; L_089AC700: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AC724; } goto L_089AC708; } L_089AC708: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(408)); 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 = (0x089AC720u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC720u) goto L_089AC720; AOT_REGCACHE_SYNC_OUT(); return; L_089AC720: ctx.gpr[30] = (aot_gpr_2 | 0u); goto L_089AC724; L_089AC724: { const bool branch_taken = ctx.gpr[30] != 0u; if (branch_taken) { goto L_089AC7B0; } goto L_089AC72C; } L_089AC72C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC7A8; } goto L_089AC738; } L_089AC738: aot_gpr_31 = (0x089AC740u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC740u) goto L_089AC740; AOT_REGCACHE_SYNC_OUT(); return; L_089AC740: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AC76C; } goto L_089AC748; } L_089AC748: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 28u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AC76C; } goto L_089AC758; } L_089AC758: aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AC7A8; } goto L_089AC76C; } L_089AC76C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; if (branch_taken) { goto L_089AC7A8; } goto L_089AC778; } L_089AC778: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(468))); aot_gpr_4 = (aot_gpr_4 + static_cast(5000)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1728), aot_gpr_4); aot_gpr_4 = (64u << 16u); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC7A8; } goto L_089AC798; } L_089AC798: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(464))); aot_gpr_5 = (1024u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(464), aot_gpr_4); goto L_089AC7A8; L_089AC7A8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD2BC; } goto L_089AC7B0; } L_089AC7B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 63u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD2BC; } goto L_089AC7C0; } L_089AC7C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 60u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD2BC; } goto L_089AC7D0; } L_089AC7D0: ctx.gpr[21] = (0u | 0u); aot_fpr_20 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AC7F0u); aot_gpr_5 = (aot_gpr_29 | 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 == 0x089AC7F0u) goto L_089AC7F0; AOT_REGCACHE_SYNC_OUT(); return; L_089AC7F0: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t vfpu_address = 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 = (ctx.gpr[18] + 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); } { const bool branch_taken = ctx.gpr[19] != 0u; if (branch_taken) { goto L_089AC990; } goto L_089AC810; } L_089AC810: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[19] = (0u | 10u); aot_gpr_6 = (0u | 6u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AC854; } goto L_089AC824; } L_089AC824: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_6 = (0u | 8u); if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089AC858; } goto L_089AC834; L_089AC834: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_6 = (0u | 9u); if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089AC858; } goto L_089AC844; L_089AC844: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_6 = (0u | 2u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089AC85C; } goto L_089AC854; } L_089AC854: aot_gpr_4 = (0u | 1u); goto L_089AC858; L_089AC858: aot_gpr_4 = (aot_gpr_4 & 255u); goto L_089AC85C; L_089AC85C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC8B4; } goto L_089AC864; } L_089AC864: { const bool branch_taken = ctx.gpr[30] == 0u; if (branch_taken) { goto L_089AC890; } goto L_089AC86C; } L_089AC86C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC878u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC878u) goto L_089AC878; AOT_REGCACHE_SYNC_OUT(); return; L_089AC878: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; if (branch_taken) { goto L_089AC888; } goto L_089AC880; } L_089AC880: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 13u); if (branch_taken) { goto L_089AC990; } goto L_089AC888; } L_089AC888: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 19u); if (branch_taken) { goto L_089AC990; } goto L_089AC890; } L_089AC890: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC89Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC89Cu) goto L_089AC89C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC89C: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; if (branch_taken) { goto L_089AC8AC; } goto L_089AC8A4; } L_089AC8A4: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 11u); if (branch_taken) { goto L_089AC990; } goto L_089AC8AC; } L_089AC8AC: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 10u); if (branch_taken) { goto L_089AC990; } goto L_089AC8B4; } L_089AC8B4: 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_089AC8CC; } goto L_089AC8C4; } L_089AC8C4: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 10u); if (branch_taken) { goto L_089AC990; } goto L_089AC8CC; } L_089AC8CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; if (branch_taken) { goto L_089AC8E0; } goto L_089AC8D8; } L_089AC8D8: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 10u); if (branch_taken) { goto L_089AC990; } goto L_089AC8E0; } L_089AC8E0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC8ECu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC8ECu) goto L_089AC8EC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC8EC: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; if (branch_taken) { goto L_089AC8FC; } goto L_089AC8F4; } L_089AC8F4: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 8u); if (branch_taken) { goto L_089AC990; } goto L_089AC8FC; } L_089AC8FC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC908u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC908u) goto L_089AC908; AOT_REGCACHE_SYNC_OUT(); return; L_089AC908: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; if (branch_taken) { goto L_089AC918; } goto L_089AC910; } L_089AC910: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 11u); if (branch_taken) { goto L_089AC990; } goto L_089AC918; } L_089AC918: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC924u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC924u) goto L_089AC924; AOT_REGCACHE_SYNC_OUT(); return; L_089AC924: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; if (branch_taken) { goto L_089AC934; } goto L_089AC92C; } L_089AC92C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 9u); if (branch_taken) { goto L_089AC990; } goto L_089AC934; } L_089AC934: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); ctx.gpr[16] = (0u | 3u); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC990; } goto L_089AC948; } L_089AC948: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC954u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC954u) goto L_089AC954; AOT_REGCACHE_SYNC_OUT(); return; L_089AC954: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; if (branch_taken) { goto L_089AC97C; } goto L_089AC95C; } L_089AC95C: aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC970; } goto L_089AC968; } L_089AC968: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 9u); if (branch_taken) { goto L_089AC974; } goto L_089AC970; } L_089AC970: ctx.gpr[19] = (0u | 11u); goto L_089AC974; L_089AC974: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AC990; } goto L_089AC97C; } L_089AC97C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AC948; } goto L_089AC990; } L_089AC990: ctx.gpr[16] = (0u | 0u); ctx.gpr[23] = (0u | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC9A8u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC9A8u) goto L_089AC9A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC9A8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC9C0; } goto L_089AC9BC; } L_089AC9BC: ctx.gpr[16] = (0u | 1u); goto L_089AC9C0; L_089AC9C0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AC9D8; } goto L_089AC9D4; } L_089AC9D4: ctx.gpr[23] = (0u | 1u); goto L_089AC9D8; L_089AC9D8: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_089AC9F0; } goto L_089AC9E0; } L_089AC9E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2196))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089ACA00; } goto L_089AC9F0; } L_089AC9F0: if (ctx.gpr[23] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1360))); goto L_089ACA10; } goto L_089AC9F8; L_089AC9F8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACA2C; } goto L_089ACA00; } L_089ACA00: aot_gpr_31 = (0x089ACA08u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACA08u) goto L_089ACA08; AOT_REGCACHE_SYNC_OUT(); return; L_089ACA08: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD2BC; } goto L_089ACA10; } L_089ACA10: aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089ACA3C; } goto L_089ACA1C; } L_089ACA1C: 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_089ACA3C; } goto L_089ACA2C; } L_089ACA2C: { const bool branch_taken = ctx.gpr[30] != 0u; ctx.gpr[22] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_089ACA44; } goto L_089ACA34; } L_089ACA34: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACA90; } goto L_089ACA3C; } L_089ACA3C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD2BC; } goto L_089ACA44; } L_089ACA44: 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089ACA88; } goto L_089ACA60; } L_089ACA60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089ACA80u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACA80u) goto L_089ACA80; AOT_REGCACHE_SYNC_OUT(); return; L_089ACA80: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089ACAD4; } goto L_089ACA88; } L_089ACA88: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_089ACAD4; } goto L_089ACA90; } L_089ACA90: ctx.gpr[16] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ACAA8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACAA8u) goto L_089ACAA8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACAA8: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(352)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[19] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089ACAD0u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACAD0u) goto L_089ACAD0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACAD0: ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_089ACAD4; L_089ACAD4: { const bool branch_taken = ctx.gpr[16] != 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(164), static_cast(ctx.gpr[30])); if (branch_taken) { goto L_089ACE50; } goto L_089ACADC; } L_089ACADC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[30] = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_089ACB00; } goto L_089ACAF0; } L_089ACAF0: aot_gpr_31 = (0x089ACAF8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACAF8u) goto L_089ACAF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACAF8: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089ACDFC; } goto L_089ACB00; } L_089ACB00: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_6 = (0u | 6u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089ACB40; } goto L_089ACB10; } L_089ACB10: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_6 = (0u | 8u); if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089ACB44; } goto L_089ACB20; L_089ACB20: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_6 = (0u | 9u); if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089ACB44; } goto L_089ACB30; L_089ACB30: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_6 = (0u | 2u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089ACB48; } goto L_089ACB40; } L_089ACB40: aot_gpr_4 = (0u | 1u); goto L_089ACB44; L_089ACB44: aot_gpr_4 = (aot_gpr_4 & 255u); goto L_089ACB48; L_089ACB48: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089ACBA4; } goto L_089ACB50; } L_089ACB50: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 11 ? 1u : 0u); if (branch_taken) { goto L_089ACB7C; } goto L_089ACB60; } L_089ACB60: aot_gpr_5 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 9 ? 1u : 0u); if (branch_taken) { goto L_089ACD2C; } goto L_089ACB6C; } L_089ACB6C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089ACB9C; } goto L_089ACB74; } L_089ACB74: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 10u); if (branch_taken) { goto L_089ACD2C; } goto L_089ACB7C; } L_089ACB7C: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 12 ? 1u : 0u); if (branch_taken) { goto L_089ACB94; } goto L_089ACB84; } L_089ACB84: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089ACD2C; } goto L_089ACB8C; } L_089ACB8C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 9u); if (branch_taken) { goto L_089ACD2C; } goto L_089ACB94; } L_089ACB94: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 8u); if (branch_taken) { goto L_089ACD2C; } goto L_089ACB9C; } L_089ACB9C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 11u); if (branch_taken) { goto L_089ACD2C; } goto L_089ACBA4; } L_089ACBA4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 11 ? 1u : 0u); if (branch_taken) { goto L_089ACBD0; } goto L_089ACBB4; } L_089ACBB4: aot_gpr_5 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 9 ? 1u : 0u); if (branch_taken) { goto L_089ACD2C; } goto L_089ACBC0; } L_089ACBC0: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACC98; } goto L_089ACBC8; } L_089ACBC8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACCDC; } goto L_089ACBD0; } L_089ACBD0: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 12 ? 1u : 0u); if (branch_taken) { goto L_089ACBE8; } goto L_089ACBD8; } L_089ACBD8: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACC40; } goto L_089ACBE0; } L_089ACBE0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACD2C; } goto L_089ACBE8; } L_089ACBE8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACBF4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACBF4u) goto L_089ACBF4; AOT_REGCACHE_SYNC_OUT(); return; L_089ACBF4: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089ACC24; } goto L_089ACBFC; } L_089ACBFC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACC24; } goto L_089ACC0C; } L_089ACC0C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACC24; } goto L_089ACC1C; } L_089ACC1C: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 8u); if (branch_taken) { goto L_089ACC38; } goto L_089ACC24; } L_089ACC24: ctx.gpr[20] = (0u | 1u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACC34u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACC34u) goto L_089ACC34; AOT_REGCACHE_SYNC_OUT(); return; L_089ACC34: ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_089ACC38; L_089ACC38: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACD2C; } goto L_089ACC40; } L_089ACC40: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACC4Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACC4Cu) goto L_089ACC4C; AOT_REGCACHE_SYNC_OUT(); return; L_089ACC4C: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089ACC7C; } goto L_089ACC54; } L_089ACC54: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACC7C; } goto L_089ACC64; } L_089ACC64: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACC7C; } goto L_089ACC74; } L_089ACC74: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 9u); if (branch_taken) { goto L_089ACC90; } goto L_089ACC7C; } L_089ACC7C: ctx.gpr[20] = (0u | 1u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACC8Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACC8Cu) goto L_089ACC8C; AOT_REGCACHE_SYNC_OUT(); return; L_089ACC8C: ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_089ACC90; L_089ACC90: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACD2C; } goto L_089ACC98; } L_089ACC98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACCCC; } goto L_089ACCA4; } L_089ACCA4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACCCC; } goto L_089ACCB4; } L_089ACCB4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACCCC; } goto L_089ACCC4; } L_089ACCC4: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 10u); if (branch_taken) { goto L_089ACCD4; } goto L_089ACCCC; } L_089ACCCC: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); ctx.gpr[20] = (0u | 1u); goto L_089ACCD4; L_089ACCD4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACD2C; } goto L_089ACCDC; } L_089ACCDC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACCE8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACCE8u) goto L_089ACCE8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACCE8: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089ACD18; } goto L_089ACCF0; } L_089ACCF0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACD18; } goto L_089ACD00; } L_089ACD00: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACD18; } goto L_089ACD10; } L_089ACD10: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 11u); if (branch_taken) { goto L_089ACD2C; } goto L_089ACD18; } L_089ACD18: ctx.gpr[20] = (0u | 1u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACD28u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACD28u) goto L_089ACD28; AOT_REGCACHE_SYNC_OUT(); return; L_089ACD28: ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_089ACD2C; L_089ACD2C: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_089ACDB8; } goto L_089ACD34; } L_089ACD34: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_089ACD5C; } goto L_089ACD3C; } L_089ACD3C: aot_gpr_31 = (0x089ACD44u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACD44u) goto L_089ACD44; AOT_REGCACHE_SYNC_OUT(); return; L_089ACD44: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089ACD5C; } goto L_089ACD4C; } L_089ACD4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089ACDB0; } goto L_089ACD5C; } L_089ACD5C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 11 ? 1u : 0u); if (branch_taken) { goto L_089ACD88; } goto L_089ACD6C; } L_089ACD6C: aot_gpr_5 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 9 ? 1u : 0u); if (branch_taken) { goto L_089ACDB8; } goto L_089ACD78; } L_089ACD78: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089ACDA8; } goto L_089ACD80; } L_089ACD80: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 10u); if (branch_taken) { goto L_089ACDB8; } goto L_089ACD88; } L_089ACD88: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 12 ? 1u : 0u); if (branch_taken) { goto L_089ACDA0; } goto L_089ACD90; } L_089ACD90: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089ACDB8; } goto L_089ACD98; } L_089ACD98: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 9u); if (branch_taken) { goto L_089ACDB8; } goto L_089ACDA0; } L_089ACDA0: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 8u); if (branch_taken) { goto L_089ACDB8; } goto L_089ACDA8; } L_089ACDA8: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 11u); if (branch_taken) { goto L_089ACDB8; } goto L_089ACDB0; } L_089ACDB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD2BC; } goto L_089ACDB8; } L_089ACDB8: ctx.gpr[16] = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ACDD0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACDD0u) goto L_089ACDD0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACDD0: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(352)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[19] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089ACDF8u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACDF8u) goto L_089ACDF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACDF8: ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_089ACDFC; L_089ACDFC: { const bool branch_taken = ctx.gpr[16] != 0u; if (branch_taken) { goto L_089ACE4C; } goto L_089ACE04; } L_089ACE04: aot_gpr_31 = (0x089ACE0Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACE0Cu) goto L_089ACE0C; AOT_REGCACHE_SYNC_OUT(); return; L_089ACE0C: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089ACE24; } goto L_089ACE14; } L_089ACE14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089ACE44; } goto L_089ACE24; } L_089ACE24: aot_gpr_4 = (ctx.gpr[30] & 65535u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); ctx.gpr[19] = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x089ACE38u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACE38u) goto L_089ACE38; AOT_REGCACHE_SYNC_OUT(); return; L_089ACE38: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(165), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089ACE4C; } goto L_089ACE44; } L_089ACE44: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD2BC; } goto L_089ACE4C; } L_089ACE4C: ctx.gpr[30] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(164))); goto L_089ACE50; L_089ACE50: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ACF38; } goto L_089ACE5C; } L_089ACE5C: { const bool branch_taken = ctx.gpr[23] != 0u; if (branch_taken) { goto L_089ACF38; } goto L_089ACE64; } L_089ACE64: aot_gpr_4 = (0u | 10u); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_gpr_4 = (0u | 8u); if (branch_taken) { goto L_089ACE78; } goto L_089ACE70; } L_089ACE70: { const bool branch_taken = ctx.gpr[19] != aot_gpr_4; if (branch_taken) { goto L_089ACF38; } goto L_089ACE78; } L_089ACE78: aot_gpr_31 = (0x089ACE80u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACE80u) goto L_089ACE80; AOT_REGCACHE_SYNC_OUT(); return; L_089ACE80: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089ACF38; } goto L_089ACE88; } L_089ACE88: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089ACF38; } goto L_089ACE98; } L_089ACE98: aot_gpr_31 = (0x089ACEA0u); ctx.gpr[16] = (0u | 63u); 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 == 0x089ACEA0u) goto L_089ACEA0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACEA0: aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; if (branch_taken) { goto L_089ACEC4; } goto L_089ACEB0; } L_089ACEB0: aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089ACECC; } goto L_089ACEBC; } L_089ACEBC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACF38; } goto L_089ACEC4; } L_089ACEC4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD2BC; } goto L_089ACECC; } L_089ACECC: ctx.gpr[16] = (aot_gpr_29 + static_cast(128)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ACEE4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACEE4u) goto L_089ACEE4; AOT_REGCACHE_SYNC_OUT(); return; L_089ACEE4: aot_gpr_31 = (0x089ACEECu); 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 == 0x089ACEECu) goto L_089ACEEC; AOT_REGCACHE_SYNC_OUT(); return; L_089ACEEC: aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16056u << 16u); aot_gpr_4 = (aot_gpr_4 | 20972u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089ACF38; } goto L_089ACF30; } L_089ACF30: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD2BC; } goto L_089ACF38; } L_089ACF38: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(165))); ctx.gpr[16] = (0u | 8u); ctx.gpr[19] = (ctx.gpr[19] & 65535u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (aot_gpr_29 + static_cast(64)); if (branch_taken) { goto L_089ACF70; } goto L_089ACF4C; } L_089ACF4C: aot_gpr_31 = (0x089ACF54u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 233u, 0x08B00DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACF54u) goto L_089ACF54; AOT_REGCACHE_SYNC_OUT(); return; L_089ACF54: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089ACF70; } goto L_089ACF5C; } L_089ACF5C: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(ctx.gpr[19])); aot_gpr_31 = (0x089ACF68u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACF68u) goto L_089ACF68; AOT_REGCACHE_SYNC_OUT(); return; L_089ACF68: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(165), static_cast(aot_gpr_4)); goto L_089ACF70; L_089ACF70: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; if (branch_taken) { goto L_089ACFA8; } goto L_089ACF7C; } L_089ACF7C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACF88u); aot_gpr_5 = (0u | 8u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(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, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACF88u) goto L_089ACF88; AOT_REGCACHE_SYNC_OUT(); return; L_089ACF88: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACF94u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 983u, 0x0890BE58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACF94u) goto L_089ACF94; AOT_REGCACHE_SYNC_OUT(); return; L_089ACF94: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFA0u); aot_gpr_5 = (0u | 5u); 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 == 0x089ACFA0u) goto L_089ACFA0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFA0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ACFCC; } goto L_089ACFA8; } L_089ACFA8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFB4u); 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_08908E78, 65u, 261u, 0x08908E78u>(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, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFB4u) goto L_089ACFB4; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFB4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFC0u); 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, 983u, 0x0890BE58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFC0u) goto L_089ACFC0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFC0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFCCu); 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 == 0x089ACFCCu) goto L_089ACFCC; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFCC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFE8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFE8u) goto L_089ACFE8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFE8: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(ctx.gpr[19])); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFF8u); aot_gpr_5 = (0u | 63u); 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 == 0x089ACFF8u) goto L_089ACFF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFF8: aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x089AD008u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD008u) goto L_089AD008; AOT_REGCACHE_SYNC_OUT(); return; L_089AD008: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD01Cu); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD01Cu) goto L_089AD01C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD01C: aot_gpr_31 = (0x089AD024u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD024u) goto L_089AD024; AOT_REGCACHE_SYNC_OUT(); return; L_089AD024: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AD060; } goto L_089AD02C; } L_089AD02C: aot_gpr_31 = (0x089AD034u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD034u) goto L_089AD034; AOT_REGCACHE_SYNC_OUT(); return; L_089AD034: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 16u); 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_089AD060; } goto L_089AD04C; } L_089AD04C: aot_gpr_31 = (0x089AD054u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD054u) goto L_089AD054; AOT_REGCACHE_SYNC_OUT(); return; L_089AD054: aot_gpr_4 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089AD060; L_089AD060: aot_gpr_31 = (0x089AD068u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 451u, 0x08911B7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD068u) goto L_089AD068; AOT_REGCACHE_SYNC_OUT(); return; L_089AD068: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD074u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 756u, 0x089AB8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD074u) goto L_089AD074; AOT_REGCACHE_SYNC_OUT(); return; L_089AD074: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD080u); 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_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 == 0x089AD080u) goto L_089AD080; AOT_REGCACHE_SYNC_OUT(); return; L_089AD080: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); ctx.gpr[8] = (17096u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD09Cu); 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 == 0x089AD09Cu) goto L_089AD09C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD09C: aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(165))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AD0C4; } goto L_089AD0B0; } L_089AD0B0: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AD0BCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD0BCu) goto L_089AD0BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AD0BC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD240; } goto L_089AD0C4; } L_089AD0C4: aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (48972u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AD14C; } goto L_089AD0E8; } L_089AD0E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD14C; } goto L_089AD0F8; } L_089AD0F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; if (branch_taken) { goto L_089AD14C; } goto L_089AD104; } L_089AD104: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD14C; } goto L_089AD114; } L_089AD114: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089AD120u); aot_gpr_5 = (0u | 7u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 181u, 0x08AF55ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD120u) goto L_089AD120; AOT_REGCACHE_SYNC_OUT(); return; L_089AD120: aot_gpr_31 = (0x089AD128u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD128u) goto L_089AD128; AOT_REGCACHE_SYNC_OUT(); return; L_089AD128: aot_gpr_5 = (2194u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD13Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(26328)); 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 == 0x089AD13Cu) goto L_089AD13C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD13C: aot_gpr_31 = (0x089AD144u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 697u, 0x0890EF9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD144u) goto L_089AD144; AOT_REGCACHE_SYNC_OUT(); return; L_089AD144: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD240; } goto L_089AD14C; } L_089AD14C: aot_gpr_31 = (0x089AD154u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 542u, 0x08B02090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD154u) goto L_089AD154; AOT_REGCACHE_SYNC_OUT(); return; L_089AD154: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AD178; } goto L_089AD15C; } L_089AD15C: { const bool branch_taken = ctx.gpr[30] != 0u; if (branch_taken) { goto L_089AD178; } goto L_089AD164; } L_089AD164: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089AD170u); aot_gpr_5 = (0u | 14u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 181u, 0x08AF55ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD170u) goto L_089AD170; AOT_REGCACHE_SYNC_OUT(); return; L_089AD170: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD184; } goto L_089AD178; } L_089AD178: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089AD184u); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 181u, 0x08AF55ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD184u) goto L_089AD184; AOT_REGCACHE_SYNC_OUT(); return; L_089AD184: { const bool branch_taken = ctx.gpr[30] != 0u; if (branch_taken) { goto L_089AD1D4; } goto L_089AD18C; } L_089AD18C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(460))); aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AD1B0; } goto L_089AD1A0; } L_089AD1A0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(564), static_cast(aot_gpr_4)); goto L_089AD1B0; L_089AD1B0: aot_gpr_31 = (0x089AD1B8u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1B8u) goto L_089AD1B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD1B8: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD1CCu); aot_gpr_5 = (aot_gpr_5 + static_cast(16548)); 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 == 0x089AD1CCu) goto L_089AD1CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AD1CC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD238; } goto L_089AD1D4; } L_089AD1D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD1F4; } goto L_089AD1E4; } L_089AD1E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AD218; } goto L_089AD1F4; } L_089AD1F4: aot_gpr_31 = (0x089AD1FCu); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1FCu) goto L_089AD1FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AD1FC: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD210u); aot_gpr_5 = (aot_gpr_5 + static_cast(16548)); 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 == 0x089AD210u) goto L_089AD210; AOT_REGCACHE_SYNC_OUT(); return; L_089AD210: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD238; } goto L_089AD218; } L_089AD218: aot_gpr_31 = (0x089AD220u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD220u) goto L_089AD220; AOT_REGCACHE_SYNC_OUT(); return; L_089AD220: aot_gpr_5 = (2193u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD234u); aot_gpr_5 = (aot_gpr_5 + static_cast(-10228)); 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 == 0x089AD234u) goto L_089AD234; AOT_REGCACHE_SYNC_OUT(); return; L_089AD234: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2264), std::bit_cast(aot_fpr_20)); goto L_089AD238; L_089AD238: aot_gpr_31 = (0x089AD240u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 697u, 0x0890EF9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD240u) goto L_089AD240; AOT_REGCACHE_SYNC_OUT(); return; L_089AD240: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_5 = (65520u << 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); 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_089AD274; } goto L_089AD264; } L_089AD264: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); aot_gpr_5 = (8u << 16u); 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_089AD274; L_089AD274: aot_gpr_31 = (0x089AD27Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 264u, 0x08910F00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD27Cu) goto L_089AD27C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD27C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; if (branch_taken) { goto L_089AD2BC; } goto L_089AD288; } L_089AD288: aot_gpr_31 = (0x089AD290u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD290u) goto L_089AD290; AOT_REGCACHE_SYNC_OUT(); return; L_089AD290: { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[18] = (0u + static_cast(-497)); if (branch_taken) { goto L_089AD2AC; } goto L_089AD298; } L_089AD298: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 | 208u); { 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_089AD2BC; } goto L_089AD2AC; } L_089AD2AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); goto L_089AD2BC; L_089AD2BC: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(168), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; ctx.gpr[30] = aot_run_words[9]; aot_gpr_31 = aot_run_words[10]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(224)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AD2F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(472))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_gpr_5 & 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[17]); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089AD344; } goto L_089AD32C; } L_089AD32C: aot_gpr_31 = (0x089AD334u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD334u) goto L_089AD334; AOT_REGCACHE_SYNC_OUT(); return; L_089AD334: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AD358; } goto L_089AD33C; } L_089AD33C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD7D4; } goto L_089AD344; } L_089AD344: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(472))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(472), aot_gpr_4); if (branch_taken) { goto L_089AD7D4; } goto L_089AD358; } L_089AD358: aot_gpr_31 = (0x089AD360u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD360u) goto L_089AD360; AOT_REGCACHE_SYNC_OUT(); return; L_089AD360: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_31 = (0x089AD36Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD36Cu) goto L_089AD36C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD36C: aot_gpr_4 = (0u | 200u); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); if (branch_taken) { goto L_089AD46C; } goto L_089AD378; } L_089AD378: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_6 = (16051u << 16u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_6 = (aot_gpr_6 | 13107u); aot_gpr_5 = (0u | 229u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_fpr_12 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_089AD3BC; } goto L_089AD394; } L_089AD394: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 232u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD3BC; } goto L_089AD3A8; } L_089AD3A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 231u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AD3C8; } goto L_089AD3BC; } L_089AD3BC: aot_gpr_4 = (16140u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_089AD3C8; L_089AD3C8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AD458; } goto L_089AD3D8; } L_089AD3D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AD458; } goto L_089AD3E4; } L_089AD3E4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 6u); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AD428; } goto L_089AD3F8; } L_089AD3F8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 8u); if (aot_gpr_6 == ctx.gpr[7]) { aot_gpr_4 = (0u | 1u); goto L_089AD42C; } goto L_089AD408; L_089AD408: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 9u); if (aot_gpr_6 == ctx.gpr[7]) { aot_gpr_4 = (0u | 1u); goto L_089AD42C; } goto L_089AD418; L_089AD418: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); aot_gpr_6 = (0u | 2u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089AD430; } goto L_089AD428; } L_089AD428: aot_gpr_4 = (0u | 1u); goto L_089AD42C; L_089AD42C: aot_gpr_4 = (aot_gpr_4 & 255u); goto L_089AD430; L_089AD430: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AD458; } goto L_089AD438; } L_089AD438: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD450u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD450u) goto L_089AD450; AOT_REGCACHE_SYNC_OUT(); return; L_089AD450: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD464; } goto L_089AD458; } L_089AD458: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD464u); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; L_089AD464: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD7D4; } goto L_089AD46C; } L_089AD46C: aot_gpr_4 = (0u | 130u); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (0u | 131u); if (branch_taken) { goto L_089AD480; } goto L_089AD478; } L_089AD478: { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; if (branch_taken) { goto L_089AD564; } goto L_089AD480; } L_089AD480: aot_gpr_4 = (15759u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AD550; } goto L_089AD49C; } L_089AD49C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AD550; } goto L_089AD4A8; } L_089AD4A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AD4D0; } goto L_089AD4C0; } L_089AD4C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089AD4D0; L_089AD4D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(636))); aot_gpr_4 = (aot_gpr_4 & 64u); 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_089AD50C; } goto L_089AD4E8; } L_089AD4E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AD50C; } goto L_089AD4F8; } L_089AD4F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AD550; } goto L_089AD50C; } L_089AD50C: aot_gpr_4 = (0u | 130u); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; if (branch_taken) { goto L_089AD534; } goto L_089AD518; } L_089AD518: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 48u); aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x089AD52Cu); ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0017_entry, 17u, 415u, 0x0884A390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD52Cu) goto L_089AD52C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD52C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD55C; } goto L_089AD534; } L_089AD534: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 48u); aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AD548u); ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0017_entry, 17u, 415u, 0x0884A390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD548u) goto L_089AD548; AOT_REGCACHE_SYNC_OUT(); return; L_089AD548: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD55C; } goto L_089AD550; } L_089AD550: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD55Cu); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; L_089AD55C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD7D4; } goto L_089AD564; } L_089AD564: aot_gpr_4 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AD5B0; } goto L_089AD570; } L_089AD570: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); ctx.gpr[19] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); ctx.gpr[20] = (aot_gpr_4 + static_cast(272)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD58Cu); ctx.gpr[21] = (ctx.gpr[18] + aot_gpr_5); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD58Cu) goto L_089AD58C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD58C: ctx.gpr[22] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_31 = (0x089AD598u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD598u) goto L_089AD598; AOT_REGCACHE_SYNC_OUT(); return; L_089AD598: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AD5B0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD5B0u) goto L_089AD5B0; AOT_REGCACHE_SYNC_OUT(); return; L_089AD5B0: aot_gpr_31 = (0x089AD5B8u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD5B8u) goto L_089AD5B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD5B8: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AD66C; } goto L_089AD5C0; } L_089AD5C0: aot_gpr_4 = (ctx.gpr[18] + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (48972u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AD5F8; } goto L_089AD5E4; } L_089AD5E4: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD5F0u); aot_gpr_5 = (0u | 1u); goto L_089AFEFC; L_089AD5F0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD66C; } goto L_089AD5F8; } L_089AD5F8: aot_gpr_4 = (0u | 124u); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (0u | 84u); if (branch_taken) { goto L_089AD624; } goto L_089AD604; } L_089AD604: { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (16025u << 16u); if (branch_taken) { goto L_089AD624; } goto L_089AD60C; } L_089AD60C: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AD638; } goto L_089AD624; } L_089AD624: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD630u); aot_gpr_5 = (0u | 1u); goto L_089AFEFC; L_089AD630: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD66C; } goto L_089AD638; } L_089AD638: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-950)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AD660; } goto L_089AD64C; } L_089AD64C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD658u); aot_gpr_5 = (0u | 1u); goto L_089AFEFC; L_089AD658: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AD66C; } goto L_089AD660; } L_089AD660: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD66Cu); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AD66C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 63u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AD7D4; } goto L_089AD67C; } L_089AD67C: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1914))); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089AD74C; } goto L_089AD690; } L_089AD690: aot_gpr_5 = (aot_gpr_4 << 2u); aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1784))); aot_gpr_5 = (aot_gpr_5 + 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); } aot_gpr_5 = (ctx.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(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_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_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_6 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_6); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[16])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 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)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_5 = (15651u << 16u); aot_gpr_5 = (aot_gpr_5 | 55051u); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AD738; } goto L_089AD728; } L_089AD728: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); if (branch_taken) { goto L_089AD74C; } goto L_089AD738; } L_089AD738: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1914))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_089AD690; } goto L_089AD74C; } L_089AD74C: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_089AD7D4; } goto L_089AD754; } L_089AD754: aot_gpr_31 = (0x089AD75Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD75Cu) goto L_089AD75C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD75C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AD794; } goto L_089AD764; } L_089AD764: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD794; } goto L_089AD774; } L_089AD774: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AD794; } goto L_089AD784; } L_089AD784: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AD7D4; } goto L_089AD794; } L_089AD794: aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AD7D4; } goto L_089AD7B0; } L_089AD7B0: aot_gpr_31 = (0x089AD7B8u); aot_gpr_4 = (ctx.gpr[17] | 0u); 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 == 0x089AD7B8u) goto L_089AD7B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD7B8: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AD7D4; } goto L_089AD7C0; } L_089AD7C0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_6 = (0u | 28u); aot_gpr_31 = (0x089AD7D4u); 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 == 0x089AD7D4u) goto L_089AD7D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AD7D4: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AD800: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089AD828u); 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 == 0x089AD828u) goto L_089AD828; AOT_REGCACHE_SYNC_OUT(); return; L_089AD828: aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_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 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(776))); aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AD854u); 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 == 0x089AD854u) goto L_089AD854; AOT_REGCACHE_SYNC_OUT(); return; L_089AD854: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AD860u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 756u, 0x089AB8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD860u) goto L_089AD860; AOT_REGCACHE_SYNC_OUT(); return; L_089AD860: aot_gpr_31 = (0x089AD868u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD868u) goto L_089AD868; AOT_REGCACHE_SYNC_OUT(); return; L_089AD868: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AD920; } goto L_089AD870; } L_089AD870: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.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_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); } ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD8B8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD8B8u) goto L_089AD8B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD8B8: { 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 = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (16256u << 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(24), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AD8E8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD8E8u) goto L_089AD8E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD8E8: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1328), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[17] + static_cast(1328)); aot_gpr_31 = (0x089AD914u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_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 == 0x089AD914u) goto L_089AD914; AOT_REGCACHE_SYNC_OUT(); return; L_089AD914: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1300), ctx.gpr[16]); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ADB7C; } goto L_089AD920; } L_089AD920: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u | 278u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089ADAC4; } goto L_089AD930; } L_089AD930: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ADAB0; } goto L_089AD940; } L_089AD940: aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AD954u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD954u) goto L_089AD954; AOT_REGCACHE_SYNC_OUT(); return; L_089AD954: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AD97Cu); 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 == 0x089AD97Cu) goto L_089AD97C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD97C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 16u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(464), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.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_gpr_4 = (aot_gpr_4 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (ctx.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<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(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_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + 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(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (16261u << 16u); aot_gpr_5 = (aot_gpr_5 | 7864u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); aot_gpr_5 = (ctx.gpr[16] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } 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); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { 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[17] + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089ADA88; } goto L_089ADA78; } L_089ADA78: aot_gpr_31 = (0x089ADA80u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADA80u) goto L_089ADA80; AOT_REGCACHE_SYNC_OUT(); return; L_089ADA80: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ADAA8; } goto L_089ADA88; } L_089ADA88: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ADA94u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADA94u) goto L_089ADA94; AOT_REGCACHE_SYNC_OUT(); return; L_089ADA94: aot_gpr_31 = (0x089ADA9Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADA9Cu) goto L_089ADA9C; AOT_REGCACHE_SYNC_OUT(); return; L_089ADA9C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ADAA8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADAA8u) goto L_089ADAA8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADAA8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ADBAC; } goto L_089ADAB0; } L_089ADAB0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (16384u << 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(24), std::bit_cast(aot_fpr_12)); goto L_089ADAC4; L_089ADAC4: aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089ADAD8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADAD8u) goto L_089ADAD8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADAD8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_4 = (0u | 1u); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1328), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[17] + static_cast(1328)); aot_gpr_31 = (0x089ADB04u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_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 == 0x089ADB04u) goto L_089ADB04; AOT_REGCACHE_SYNC_OUT(); return; L_089ADB04: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1300), ctx.gpr[16]); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), 0u); aot_gpr_4 = (16409u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x089ADB60u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADB60u) goto L_089ADB60; AOT_REGCACHE_SYNC_OUT(); return; L_089ADB60: { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (16261u << 16u); if (branch_taken) { goto L_089ADB7C; } goto L_089ADB68; } L_089ADB68: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (aot_gpr_4 | 7864u); 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(24), std::bit_cast(aot_fpr_12)); goto L_089ADB7C; L_089ADB7C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { 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[17] + static_cast(48), aot_run_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ADBA0u); 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 == 0x089ADBA0u) goto L_089ADBA0; AOT_REGCACHE_SYNC_OUT(); return; L_089ADBA0: aot_gpr_5 = (ctx.gpr[16] + static_cast(320)); aot_gpr_31 = (0x089ADBACu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADBACu) goto L_089ADBAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADBAC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(224), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } 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_089ADBC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-448)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(468))); aot_gpr_6 = (256u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(416), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089ADD1C; } goto L_089ADBF8; } L_089ADBF8: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_6 = (aot_gpr_5 << 24u); aot_gpr_31 = (0x089ADC14u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 237u, 0x08ADCCC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADC14u) goto L_089ADC14; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC14: aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_6 = (2237u << 16u); if (branch_taken) { goto L_089ADD14; } goto L_089ADC20; } L_089ADC20: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_6 = (aot_gpr_6 + static_cast(-28736)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_6); 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_089ADD14; } goto L_089ADC44; } L_089ADC44: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_31 = (0x089ADC50u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADC50u) goto L_089ADC50; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC50: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089ADD14; } goto L_089ADC5C; } L_089ADC5C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADC68u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADC68u) goto L_089ADC68; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC68: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADC74u); aot_gpr_5 = (0u | 55u); 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 == 0x089ADC74u) goto L_089ADC74; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2116), aot_gpr_4); ctx.gpr[17] = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_6 & ctx.gpr[17]); aot_gpr_5 = (aot_gpr_5 << 9u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADCACu); aot_gpr_6 = (0u | 1u); 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 == 0x089ADCACu) goto L_089ADCAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADCAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_31 = (0x089ADCB8u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 30u, 0x08B04218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADCB8u) goto L_089ADCB8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADCB8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); aot_gpr_5 = (65280u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(304)))))); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(468), aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (aot_gpr_5 | 1u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(304), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_6 & ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 << 9u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x089ADD14u); 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, 110u, 0x08A1CA0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD14u) goto L_089ADD14; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD14: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE4D4; } goto L_089ADD1C; } L_089ADD1C: aot_gpr_5 = (2234u << 16u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_6 = (0u | 30u); aot_gpr_31 = (0x089ADD30u); aot_gpr_5 = (aot_gpr_5 + static_cast(5984)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD30u) goto L_089ADD30; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD30: aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (0u + static_cast(-1)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1927)))))); aot_gpr_31 = (0x089ADD44u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD44u) goto L_089ADD44; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD44: ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089ADD50u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD50u) goto L_089ADD50; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD50: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089ADD64; } goto L_089ADD58; } L_089ADD58: aot_gpr_31 = (0x089ADD60u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD60u) goto L_089ADD60; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD60: ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); goto L_089ADD64; L_089ADD64: aot_gpr_4 = (0u | 64u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_089AE1B0; } goto L_089ADD70; } L_089ADD70: aot_gpr_4 = (0u | 61u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_089AE1B0; } goto L_089ADD7C; } L_089ADD7C: aot_gpr_4 = (0u | 62u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_089AE1B0; } goto L_089ADD88; } L_089ADD88: aot_gpr_4 = (0u | 197u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_089AE1B0; } goto L_089ADD94; } L_089ADD94: aot_gpr_4 = (0u | 120u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_089AE1B0; } goto L_089ADDA0; } L_089ADDA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(496))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_089ADDC4; } goto L_089ADDB4; } L_089ADDB4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089ADDC4; L_089ADDC4: aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x089ADDD0u); aot_gpr_5 = (ctx.gpr[16] + static_cast(512)); 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 == 0x089ADDD0u) goto L_089ADDD0; AOT_REGCACHE_SYNC_OUT(); return; L_089ADDD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); aot_gpr_5 = (0u | 1u); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); goto L_089ADDFC; } goto L_089ADDF4; L_089ADDF4: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(96)); if (branch_taken) { goto L_089ADE10; } goto L_089ADDFC; } L_089ADDFC: aot_gpr_5 = (0u | 2u); if (aot_gpr_4 != aot_gpr_5) { ctx.gpr[18] = (ctx.gpr[18] + static_cast(160)); goto L_089ADE10; } goto L_089ADE08; L_089ADE08: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(96)); if (branch_taken) { goto L_089ADE10; } goto L_089ADE10; } L_089ADE10: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[18] = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADE28u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 682u, 0x08907020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADE28u) goto L_089ADE28; AOT_REGCACHE_SYNC_OUT(); return; L_089ADE28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); ctx.gpr[19] = (aot_gpr_29 + static_cast(96)); { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[19] + 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[19] + 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[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<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 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 = 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(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); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089ADE98u); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_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 == 0x089ADE98u) goto L_089ADE98; AOT_REGCACHE_SYNC_OUT(); return; L_089ADE98: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(592))); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADEACu); aot_gpr_5 = (ctx.gpr[19] | 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 == 0x089ADEACu) goto L_089ADEAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADEAC: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_089AE158; } goto L_089ADEB4; } L_089ADEB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(480))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; if (branch_taken) { goto L_089AE02C; } goto L_089ADEC0; } L_089ADEC0: ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AE02C; } goto L_089ADED0; } L_089ADED0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089ADEFC; } goto L_089ADEDC; L_089ADEDC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(384)); aot_gpr_31 = (0x089ADEECu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADEECu) goto L_089ADEEC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADEEC: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(384))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089ADEFC; L_089ADEFC: aot_gpr_5 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE01C; } goto L_089ADF20; } L_089ADF20: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(480), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ADF80; } goto L_089ADF40; } L_089ADF40: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20))); ctx.gpr[8] = (17530u << 16u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x089ADF6Cu); aot_gpr_6 = (0u | 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 == 0x089ADF6Cu) goto L_089ADF6C; AOT_REGCACHE_SYNC_OUT(); return; L_089ADF6C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADF78u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADF78u) goto L_089ADF78; AOT_REGCACHE_SYNC_OUT(); return; L_089ADF78: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089ADFB8; } goto L_089ADF80; } L_089ADF80: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(628))); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20))); ctx.gpr[8] = (17096u << 16u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADFACu); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); 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 == 0x089ADFACu) goto L_089ADFAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFAC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADFB8u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFB8u) goto L_089ADFB8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFB8: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20))); aot_gpr_5 = (0u | 197u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089ADFF8; } goto L_089ADFD8; } L_089ADFD8: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089ADFECu); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 537u, 0x08A6669Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFECu) goto L_089ADFEC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFEC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADFF8u); 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 == 0x089ADFF8u) goto L_089ADFF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFF8: aot_gpr_31 = (0x089AE000u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE000u) goto L_089AE000; AOT_REGCACHE_SYNC_OUT(); return; L_089AE000: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE014u); aot_gpr_5 = (aot_gpr_5 + static_cast(-22532)); 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 == 0x089AE014u) goto L_089AE014; AOT_REGCACHE_SYNC_OUT(); return; L_089AE014: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE02C; } goto L_089AE01C; } L_089AE01C: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089ADED0; } goto L_089AE02C; } L_089AE02C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (static_cast(aot_gpr_4) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AE0B0; } goto L_089AE03C; } L_089AE03C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(474), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (static_cast(aot_gpr_4) < 111 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AE068; } goto L_089AE058; } L_089AE058: aot_gpr_31 = (0x089AE060u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 225u, 0x089A9520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE060u) goto L_089AE060; AOT_REGCACHE_SYNC_OUT(); return; L_089AE060: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE160; } goto L_089AE068; } L_089AE068: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE094; } goto L_089AE074; L_089AE074: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(385)); aot_gpr_31 = (0x089AE084u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE084u) goto L_089AE084; AOT_REGCACHE_SYNC_OUT(); return; L_089AE084: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(385))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE094; L_089AE094: aot_gpr_5 = (0u | 18u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(181))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE160; } goto L_089AE0A4; } L_089AE0A4: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(474), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AE160; } goto L_089AE0B0; } L_089AE0B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AE0D8; } goto L_089AE0BC; } L_089AE0BC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(386)); aot_gpr_31 = (0x089AE0CCu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE0CCu) goto L_089AE0CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE0CC: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(386))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AE0D8; L_089AE0D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_5 = (aot_gpr_4 + static_cast(180)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[18] = (aot_gpr_5 ^ 58u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_089AE10C; } goto L_089AE0F0; } L_089AE0F0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(387)); aot_gpr_31 = (0x089AE100u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE100u) goto L_089AE100; AOT_REGCACHE_SYNC_OUT(); return; L_089AE100: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(387))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AE10C; L_089AE10C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_5 = (0u | 18u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(181))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE128; } goto L_089AE120; } L_089AE120: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_089AE150; } goto L_089AE128; } L_089AE128: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AE148; } goto L_089AE138; } L_089AE138: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(474), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AE150; } goto L_089AE148; } L_089AE148: aot_gpr_31 = (0x089AE150u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 225u, 0x089A9520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE150u) goto L_089AE150; AOT_REGCACHE_SYNC_OUT(); return; L_089AE150: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE160; } goto L_089AE158; } L_089AE158: aot_gpr_31 = (0x089AE160u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 225u, 0x089A9520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE160u) goto L_089AE160; AOT_REGCACHE_SYNC_OUT(); return; L_089AE160: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); 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(168))); goto L_089AE188; } goto L_089AE170; L_089AE170: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); goto L_089AE188; } goto L_089AE17C; L_089AE17C: aot_gpr_31 = (0x089AE184u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); 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 == 0x089AE184u) goto L_089AE184; AOT_REGCACHE_SYNC_OUT(); return; L_089AE184: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); goto L_089AE188; L_089AE188: aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AE1A8; } goto L_089AE194; } L_089AE194: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AE1A8; } goto L_089AE1A0; } L_089AE1A0: aot_gpr_31 = (0x089AE1A8u); 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 == 0x089AE1A8u) goto L_089AE1A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE1A8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE4D4; } goto L_089AE1B0; } L_089AE1B0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1927)))))); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); aot_gpr_6 = (aot_gpr_6 << 24u); aot_gpr_31 = (0x089AE1CCu); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 237u, 0x08ADCCC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE1CCu) goto L_089AE1CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE1CC: ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_089AE288; } goto L_089AE1D8; } L_089AE1D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); goto L_089AE204; } goto L_089AE1E4; L_089AE1E4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(388)); aot_gpr_31 = (0x089AE1F4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE1F4u) goto L_089AE1F4; AOT_REGCACHE_SYNC_OUT(); return; L_089AE1F4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(388))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); goto L_089AE204; L_089AE204: aot_gpr_5 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(456))); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AE288; } goto L_089AE220; } L_089AE220: ctx.gpr[7] = (16512u << 16u); aot_fpr_13 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089AE23Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE23Cu) goto L_089AE23C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE23C: aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AE24Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 183u, 0x08ADC994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE24Cu) goto L_089AE24C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE24C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE258u); aot_gpr_5 = (0u | 58u); 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 == 0x089AE258u) goto L_089AE258; AOT_REGCACHE_SYNC_OUT(); return; L_089AE258: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (2238u << 16u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_31 = (0x089AE280u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 222u, 0x089614B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE280u) goto L_089AE280; AOT_REGCACHE_SYNC_OUT(); return; L_089AE280: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE4D4; } goto L_089AE288; } L_089AE288: aot_gpr_31 = (0x089AE290u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE290u) goto L_089AE290; AOT_REGCACHE_SYNC_OUT(); return; L_089AE290: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 197u); if (aot_gpr_4 == aot_gpr_5) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(792))); goto L_089AE3F4; } goto L_089AE2A0; L_089AE2A0: aot_gpr_31 = (0x089AE2A8u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE2A8u) goto L_089AE2A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE2A8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 120u); if (aot_gpr_4 == aot_gpr_5) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(792))); goto L_089AE3F4; } goto L_089AE2B8; L_089AE2B8: ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); goto L_089AE2C0; L_089AE2C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE2EC; } goto L_089AE2CC; L_089AE2CC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(389)); aot_gpr_31 = (0x089AE2DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE2DCu) goto L_089AE2DC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE2DC: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(389))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE2EC; L_089AE2EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(214))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AE3D0; } goto L_089AE2FC; } L_089AE2FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[19] << 3u); if (branch_taken) { goto L_089AE328; } goto L_089AE308; } L_089AE308: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(390)); aot_gpr_31 = (0x089AE318u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE318u) goto L_089AE318; AOT_REGCACHE_SYNC_OUT(); return; L_089AE318: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(390))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[19] << 3u); goto L_089AE328; L_089AE328: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(480))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[7] + ctx.gpr[7]); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE3C8; } goto L_089AE360; } L_089AE360: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AE388; } goto L_089AE36C; } L_089AE36C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(391)); aot_gpr_31 = (0x089AE37Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE37Cu) goto L_089AE37C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE37C: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(391))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AE388; L_089AE388: aot_gpr_4 = (ctx.gpr[19] << 3u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_31 = (0x089AE3ACu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3ACu) goto L_089AE3AC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3AC: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089AE3B8u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3B8u) goto L_089AE3B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3B8: aot_gpr_31 = (0x089AE3C0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 364u, 0x089A9FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3C0u) goto L_089AE3C0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3C0: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_089AE3D0; } goto L_089AE3C8; } L_089AE3C8: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); if (branch_taken) { goto L_089AE2C0; } goto L_089AE3D0; } L_089AE3D0: { const bool branch_taken = ctx.gpr[18] != 0u; if (branch_taken) { goto L_089AE3EC; } goto L_089AE3D8; } L_089AE3D8: aot_gpr_31 = (0x089AE3E0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3E0u) goto L_089AE3E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); goto L_089AE3EC; L_089AE3EC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE4D4; } goto L_089AE3F4; } L_089AE3F4: aot_fpr_13 = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(796))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(360))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(288)); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); if (branch_taken) { goto L_089AE450; } goto L_089AE434; } L_089AE434: 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_089AE450; } goto L_089AE448; } L_089AE448: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(0u); if (branch_taken) { goto L_089AE45C; } goto L_089AE450; } L_089AE450: aot_gpr_31 = (0x089AE458u); 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 == 0x089AE458u) goto L_089AE458; AOT_REGCACHE_SYNC_OUT(); return; L_089AE458: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_089AE45C; L_089AE45C: aot_gpr_31 = (0x089AE464u); aot_gpr_4 = (ctx.gpr[17] | 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 == 0x089AE464u) goto L_089AE464; AOT_REGCACHE_SYNC_OUT(); return; L_089AE464: ctx.gpr[17] = (aot_gpr_29 + static_cast(256)); aot_gpr_5 = (aot_gpr_29 + static_cast(288)); ctx.gpr[18] = (aot_gpr_29 + static_cast(272)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE47Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE47Cu) goto L_089AE47C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE47C: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(256), 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[16] + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(360))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AE4D4; } goto L_089AE4C0; } L_089AE4C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(352))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AE4D4; } goto L_089AE4CC; } L_089AE4CC: aot_gpr_31 = (0x089AE4D4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(352))); 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 == 0x089AE4D4u) goto L_089AE4D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AE4D4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(416), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(448)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AE4F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[7] & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); ctx.gpr[8] = (0u | 60u); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; ctx.gpr[19] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089AE780; } goto L_089AE52C; } L_089AE52C: aot_gpr_31 = (0x089AE534u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 697u, 0x0890EF9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE534u) goto L_089AE534; AOT_REGCACHE_SYNC_OUT(); return; L_089AE534: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE560u); aot_gpr_5 = (aot_gpr_29 | 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 == 0x089AE560u) goto L_089AE560; AOT_REGCACHE_SYNC_OUT(); return; L_089AE560: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE56Cu); 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_08908E78, 65u, 261u, 0x08908E78u>(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, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE56Cu) goto L_089AE56C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE56C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE578u); 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 == 0x089AE578u) goto L_089AE578; AOT_REGCACHE_SYNC_OUT(); return; L_089AE578: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE584u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE584u) goto L_089AE584; AOT_REGCACHE_SYNC_OUT(); return; L_089AE584: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (static_cast(aot_gpr_4) < 7 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (0u | 8u); if (branch_taken) { goto L_089AE5A8; } goto L_089AE594; } L_089AE594: aot_gpr_4 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AE604; } goto L_089AE5A0; } L_089AE5A0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE5B0; } goto L_089AE5A8; } L_089AE5A8: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE604; } goto L_089AE5B0; } L_089AE5B0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1280)))))); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1280), static_cast(aot_gpr_5)); aot_gpr_31 = (0x089AE5C8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE5C8u) goto L_089AE5C8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE5C8: { const bool branch_taken = ctx.gpr[17] == aot_gpr_2; aot_gpr_4 = (0u | 20u); if (branch_taken) { goto L_089AE5E8; } goto L_089AE5D0; } L_089AE5D0: { const bool branch_taken = ctx.gpr[19] != aot_gpr_4; aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089AE5F4; } goto L_089AE5D8; } L_089AE5D8: aot_gpr_31 = (0x089AE5E0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE5E0u) goto L_089AE5E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE5E0: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AE5F4; } goto L_089AE5E8; } L_089AE5E8: aot_gpr_4 = (0u | 11u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AE5FC; } goto L_089AE5F4; } L_089AE5F4: aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); goto L_089AE5FC; L_089AE5FC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE60C; } goto L_089AE604; } L_089AE604: aot_gpr_4 = (ctx.gpr[19] & 65535u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); goto L_089AE60C; L_089AE60C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE65C; } goto L_089AE61C; } L_089AE61C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (0u + static_cast(-497)); if (branch_taken) { goto L_089AE64C; } goto L_089AE628; } L_089AE628: aot_gpr_31 = (0x089AE630u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE630u) goto L_089AE630; AOT_REGCACHE_SYNC_OUT(); return; L_089AE630: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AE64C; } goto L_089AE638; } L_089AE638: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 | 208u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_089AE65C; } goto L_089AE64C; } L_089AE64C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); goto L_089AE65C; L_089AE65C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE668u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 756u, 0x089AB8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE668u) goto L_089AE668; AOT_REGCACHE_SYNC_OUT(); return; L_089AE668: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE674u); 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_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 == 0x089AE674u) goto L_089AE674; AOT_REGCACHE_SYNC_OUT(); return; L_089AE674: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AE6A4; } goto L_089AE684; } L_089AE684: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AE6A4; } goto L_089AE694; } L_089AE694: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE6B8; } goto L_089AE6A4; } L_089AE6A4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6B0u); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; L_089AE6B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE6C4; } goto L_089AE6B8; } L_089AE6B8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6C4u); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AE6C4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6D0u); 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_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE6D0u) goto L_089AE6D0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE6D0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6DCu); aot_gpr_5 = (0u | 60u); 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 == 0x089AE6DCu) goto L_089AE6DC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE6DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_5 = (65520u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] & 1u); aot_gpr_5 = (aot_gpr_5 << 20u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2256))); aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_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_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089AE72Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE72Cu) goto L_089AE72C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE72C: { 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]); } aot_gpr_31 = (0x089AE740u); 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, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE740u) goto L_089AE740; AOT_REGCACHE_SYNC_OUT(); return; L_089AE740: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AE758; } goto L_089AE74C; } L_089AE74C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE758u); aot_gpr_5 = (0u | 122u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE758u) goto L_089AE758; AOT_REGCACHE_SYNC_OUT(); return; L_089AE758: aot_gpr_31 = (0x089AE760u); 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, 264u, 0x08910F00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE760u) goto L_089AE760; AOT_REGCACHE_SYNC_OUT(); return; L_089AE760: aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089AE770u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE770u) goto L_089AE770; AOT_REGCACHE_SYNC_OUT(); return; L_089AE770: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(564))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(564), static_cast(aot_gpr_4)); goto L_089AE780; L_089AE780: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AE7A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_31 = (0x089AE7BCu); ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7BCu) goto L_089AE7BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE7BC: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AE92C; } goto L_089AE7C4; } L_089AE7C4: aot_gpr_31 = (0x089AE7CCu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7CCu) goto L_089AE7CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE7CC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE818; } goto L_089AE7DC; } L_089AE7DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AE818; } goto L_089AE7F0; } L_089AE7F0: aot_gpr_31 = (0x089AE7F8u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7F8u) goto L_089AE7F8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE7F8: aot_gpr_4 = (16307u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 13107u); 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_089AE844; } goto L_089AE818; } L_089AE818: aot_gpr_31 = (0x089AE820u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE820u) goto L_089AE820; AOT_REGCACHE_SYNC_OUT(); return; L_089AE820: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 197u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE860; } goto L_089AE830; } L_089AE830: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE83Cu); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; L_089AE83C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE8C4; } goto L_089AE844; } L_089AE844: aot_gpr_31 = (0x089AE84Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE84Cu) goto L_089AE84C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE84C: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089AE858u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0073_entry, 73u, 2u, 0x08928024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE858u) goto L_089AE858; AOT_REGCACHE_SYNC_OUT(); return; L_089AE858: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AEABC; } goto L_089AE860; } L_089AE860: aot_gpr_31 = (0x089AE868u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE868u) goto L_089AE868; AOT_REGCACHE_SYNC_OUT(); return; L_089AE868: aot_gpr_4 = (16307u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 13107u); 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_089AE89C; } goto L_089AE888; } L_089AE888: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE894u); aot_gpr_5 = (0u | 2u); goto L_089AFEFC; L_089AE894: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AE8C4; } goto L_089AE89C; } L_089AE89C: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[16] | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089AE8B8u); aot_gpr_5 = (aot_gpr_29 | 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 == 0x089AE8B8u) goto L_089AE8B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE8B8: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE8C4u); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AE8C4: aot_gpr_31 = (0x089AE8CCu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 778u, 0x089ABA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE8CCu) goto L_089AE8CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE8CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 38u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AE924; } goto L_089AE8DC; } L_089AE8DC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089AE924; } goto L_089AE8E8; } L_089AE8E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); ctx.gpr[17] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); ctx.gpr[18] = (aot_gpr_4 + static_cast(272)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE904u); ctx.gpr[16] = (aot_gpr_5 + aot_gpr_6); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE904u) goto L_089AE904; AOT_REGCACHE_SYNC_OUT(); return; L_089AE904: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13332))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AE924u); aot_gpr_6 = (0u | 173u); 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 == 0x089AE924u) goto L_089AE924; AOT_REGCACHE_SYNC_OUT(); return; L_089AE924: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AEABC; } goto L_089AE92C; } L_089AE92C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2088), static_cast(0u)); ctx.gpr[8] = (17530u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE94Cu); 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 == 0x089AE94Cu) goto L_089AE94C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE94C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089AEA64; } goto L_089AE958; } L_089AE958: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); aot_gpr_6 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; if (branch_taken) { goto L_089AE998; } goto L_089AE968; } L_089AE968: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); aot_gpr_6 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; if (branch_taken) { goto L_089AE998; } goto L_089AE978; } L_089AE978: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); aot_gpr_6 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; if (branch_taken) { goto L_089AE998; } goto L_089AE988; } L_089AE988: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[17] = (0u | 2u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; if (branch_taken) { goto L_089AE9DC; } goto L_089AE998; } L_089AE998: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); 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 = (0x089AE9B4u); aot_gpr_4 = (aot_gpr_5 + 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 == 0x089AE9B4u) goto L_089AE9B4; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9B4: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089AE9C8u); ctx.gpr[7] = (0u | 197u); 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 == 0x089AE9C8u) goto L_089AE9C8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9C8: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE9D4u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE9D4u) goto L_089AE9D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AEA64; } goto L_089AE9DC; } L_089AE9DC: aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); aot_gpr_31 = (0x089AE9E8u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE9E8u) goto L_089AE9E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9E8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AEA00u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA00u) goto L_089AEA00; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA00: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AEA0Cu); aot_gpr_5 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 181u, 0x08AF55ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA0Cu) goto L_089AEA0C; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA0C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[17]; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AEA24; } goto L_089AEA18; } L_089AEA18: aot_gpr_6 = (0u | 4u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089AEA2C; } goto L_089AEA24; } L_089AEA24: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_089AEA2C; L_089AEA2C: 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_089AEA64; } goto L_089AEA3C; } L_089AEA3C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AEA64; } goto L_089AEA50; } L_089AEA50: aot_gpr_31 = (0x089AEA58u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA58u) goto L_089AEA58; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); goto L_089AEA64; L_089AEA64: aot_gpr_31 = (0x089AEA6Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA6Cu) goto L_089AEA6C; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA6C: aot_gpr_5 = (2195u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AEA80u); aot_gpr_5 = (aot_gpr_5 + static_cast(-32732)); 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 == 0x089AEA80u) goto L_089AEA80; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA80: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089AEAB0; } goto L_089AEA8C; } L_089AEA8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AEAB0; } goto L_089AEA9C; } L_089AEA9C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AEAA8u); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; L_089AEAA8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AEABC; } goto L_089AEAB0; } L_089AEAB0: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AEABCu); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AEABC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AEAD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(563))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[30]); ctx.gpr[30] = (ctx.gpr[8] & 255u); ctx.gpr[8] = (ctx.gpr[9] | ctx.gpr[7]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(563), static_cast(ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(456))); ctx.gpr[9] = (65535u << 16u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(-1)); ctx.gpr[8] = (ctx.gpr[8] & ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(456), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_20)); { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(124), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[23] = (0u | 8u); ctx.gpr[22] = (aot_gpr_29 + static_cast(16)); ctx.gpr[21] = (aot_gpr_4 + static_cast(48)); ctx.gpr[20] = (0u | 2u); ctx.gpr[9] = (0u | 24u); ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[9]; ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_089AEB78; } goto L_089AEB60; } L_089AEB60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(2228))); aot_gpr_5 = (0u | 25u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AEB78; } goto L_089AEB70; } L_089AEB70: aot_gpr_31 = (0x089AEB78u); aot_gpr_4 = (ctx.gpr[19] | 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 == 0x089AEB78u) goto L_089AEB78; AOT_REGCACHE_SYNC_OUT(); return; L_089AEB78: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEB84u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEB84u) goto L_089AEB84; AOT_REGCACHE_SYNC_OUT(); return; L_089AEB84: aot_gpr_4 = (ctx.gpr[17] & 65535u); aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEB98u); aot_gpr_5 = (0u | 61u); 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 == 0x089AEB98u) goto L_089AEB98; AOT_REGCACHE_SYNC_OUT(); return; L_089AEB98: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[23]; if (branch_taken) { goto L_089AEBDC; } goto L_089AEBA4; } L_089AEBA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AEBDC; } goto L_089AEBB4; } L_089AEBB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AEBDC; } goto L_089AEBC4; } L_089AEBC4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; if (branch_taken) { goto L_089AEBDC; } goto L_089AEBD0; } L_089AEBD0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 | 16u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(615), static_cast(aot_gpr_4)); goto L_089AEBDC; L_089AEBDC: aot_gpr_31 = (0x089AEBE4u); aot_gpr_4 = (ctx.gpr[19] | 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 == 0x089AEBE4u) goto L_089AEBE4; AOT_REGCACHE_SYNC_OUT(); return; L_089AEBE4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEBF0u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEBF0u) goto L_089AEBF0; AOT_REGCACHE_SYNC_OUT(); return; L_089AEBF0: aot_gpr_31 = (0x089AEBF8u); aot_gpr_4 = (ctx.gpr[19] | 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 == 0x089AEBF8u) goto L_089AEBF8; AOT_REGCACHE_SYNC_OUT(); return; L_089AEBF8: aot_gpr_4 = (aot_gpr_2 + static_cast(562)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(72), aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AEC2Cu); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEC2Cu) goto L_089AEC2C; AOT_REGCACHE_SYNC_OUT(); return; L_089AEC2C: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AEC54; } goto L_089AEC48; } L_089AEC48: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_fpr_20 = aot_fpr_20 - aot_fpr_12; goto L_089AEC54; L_089AEC54: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AEC64; } goto L_089AEC64; } L_089AEC64: { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (ctx.gpr[19] + static_cast(800)); { 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(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(600)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(2072), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[20]; if (branch_taken) { goto L_089AED30; } goto L_089AEC98; } L_089AEC98: { const bool branch_taken = ctx.gpr[30] == 0u; if (branch_taken) { goto L_089AECCC; } goto L_089AECA0; } L_089AECA0: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AECACu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 770u, 0x0892738Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AECACu) goto L_089AECAC; AOT_REGCACHE_SYNC_OUT(); return; L_089AECAC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(563))); aot_gpr_5 = (~(ctx.gpr[16] | 0u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(563), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 1024u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(464), aot_gpr_4); if (branch_taken) { goto L_089AEE78; } goto L_089AECCC; } L_089AECCC: aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x089AECDCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AECDCu) goto L_089AECDC; AOT_REGCACHE_SYNC_OUT(); return; L_089AECDC: ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AECF4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AECF4u) goto L_089AECF4; AOT_REGCACHE_SYNC_OUT(); return; L_089AECF4: aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089AED08u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 188u, 0x08AF565Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED08u) goto L_089AED08; AOT_REGCACHE_SYNC_OUT(); return; L_089AED08: aot_gpr_31 = (0x089AED10u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED10u) goto L_089AED10; AOT_REGCACHE_SYNC_OUT(); return; L_089AED10: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AED24u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21496)); 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 == 0x089AED24u) goto L_089AED24; AOT_REGCACHE_SYNC_OUT(); return; L_089AED24: aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(535), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AEE78; } goto L_089AED30; } L_089AED30: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AEDD4; } goto L_089AED40; } L_089AED40: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AED4Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 770u, 0x0892738Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED4Cu) goto L_089AED4C; AOT_REGCACHE_SYNC_OUT(); return; L_089AED4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_5 = (17096u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_089AED94; } goto L_089AED6C; } L_089AED6C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089AED80u); ctx.gpr[7] = (0u | 97u); 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 == 0x089AED80u) goto L_089AED80; AOT_REGCACHE_SYNC_OUT(); return; L_089AED80: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AED8Cu); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED8Cu) goto L_089AED8C; AOT_REGCACHE_SYNC_OUT(); return; L_089AED8C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(563))); if (branch_taken) { goto L_089AEDB8; } goto L_089AED94; } L_089AED94: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089AEDA8u); ctx.gpr[7] = (0u | 110u); 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 == 0x089AEDA8u) goto L_089AEDA8; AOT_REGCACHE_SYNC_OUT(); return; L_089AEDA8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEDB4u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDB4u) goto L_089AEDB4; AOT_REGCACHE_SYNC_OUT(); return; L_089AEDB4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(563))); goto L_089AEDB8; L_089AEDB8: aot_gpr_5 = (~(ctx.gpr[16] | 0u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(563), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 1024u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(464), aot_gpr_4); if (branch_taken) { goto L_089AEE78; } goto L_089AEDD4; } L_089AEDD4: aot_gpr_31 = (0x089AEDDCu); 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_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDDCu) goto L_089AEDDC; AOT_REGCACHE_SYNC_OUT(); return; L_089AEDDC: { const bool branch_taken = aot_gpr_2 == ctx.gpr[20]; if (branch_taken) { goto L_089AEDFC; } goto L_089AEDE4; } L_089AEDE4: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AEDF0u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 538u, 0x089AAC08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDF0u) goto L_089AEDF0; AOT_REGCACHE_SYNC_OUT(); return; L_089AEDF0: aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(535), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AEE78; } goto L_089AEDFC; } L_089AEDFC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AEE20; } goto L_089AEE0C; } L_089AEE0C: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AEE18u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 538u, 0x089AAC08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE18u) goto L_089AEE18; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE18: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AEE78; } goto L_089AEE20; } L_089AEE20: aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x089AEE30u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE30u) goto L_089AEE30; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE30: ctx.gpr[16] = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEE48u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE48u) goto L_089AEE48; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE48: aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089AEE5Cu); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 188u, 0x08AF565Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE5Cu) goto L_089AEE5C; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE5C: aot_gpr_31 = (0x089AEE64u); 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_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE64u) goto L_089AEE64; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE64: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEE78u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21496)); 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 == 0x089AEE78u) goto L_089AEE78; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE78: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; ctx.gpr[22] = aot_run_words[8]; ctx.gpr[23] = aot_run_words[9]; ctx.gpr[30] = aot_run_words[10]; aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(160)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AEEB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), 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(48), aot_run_words); } aot_gpr_31 = (0x089AEEE8u); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEEE8u) goto L_089AEEE8; AOT_REGCACHE_SYNC_OUT(); return; L_089AEEE8: { const bool branch_taken = aot_gpr_2 == 0u; ctx.fpr[22] = std::bit_cast(0u); if (branch_taken) { goto L_089AEF10; } goto L_089AEEF0; } L_089AEEF0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(464))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(464), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1025)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(468), aot_gpr_4); goto L_089AEF10; L_089AEF10: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AEF4C; } goto L_089AEF1C; } L_089AEF1C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089AEF4C; } goto L_089AEF28; } L_089AEF28: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_6 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(636))); aot_fpr_13 = std::bit_cast(aot_gpr_6); 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_089AEF4C; } goto L_089AEF48; } L_089AEF48: aot_gpr_4 = (0u | 1u); goto L_089AEF4C; L_089AEF4C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089AEF98; } goto L_089AEF58; } L_089AEF58: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AEF98; } goto L_089AEF60; } L_089AEF60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AEF98; } goto L_089AEF7C; } L_089AEF7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); aot_gpr_4 = (16256u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF00C; } goto L_089AEF98; } L_089AEF98: aot_gpr_31 = (0x089AEFA0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEFA0u) goto L_089AEFA0; AOT_REGCACHE_SYNC_OUT(); return; L_089AEFA0: ctx.gpr[7] = (16512u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089AEFBCu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEFBCu) goto L_089AEFBC; AOT_REGCACHE_SYNC_OUT(); return; L_089AEFBC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AF004; } goto L_089AEFC8; } L_089AEFC8: aot_gpr_31 = (0x089AEFD0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEFD0u) goto L_089AEFD0; AOT_REGCACHE_SYNC_OUT(); return; L_089AEFD0: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF004; } goto L_089AEFD8; } L_089AEFD8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (2237u << 16u); aot_gpr_4 = (0u | 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); if (branch_taken) { goto L_089AEFF4; } goto L_089AEFEC; } L_089AEFEC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(668))); goto L_089AEFF4; L_089AEFF4: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x089AF004u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 173u, 0x08ADC8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF004u) goto L_089AF004; AOT_REGCACHE_SYNC_OUT(); return; L_089AF004: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF300; } goto L_089AF00C; } L_089AF00C: aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AF020u); ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF020u) goto L_089AF020; AOT_REGCACHE_SYNC_OUT(); return; L_089AF020: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF04C; } goto L_089AF04C; } L_089AF04C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AF058u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 296u, 0x08B01088u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF058u) goto L_089AF058; AOT_REGCACHE_SYNC_OUT(); return; L_089AF058: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF0BC; } goto L_089AF060; } L_089AF060: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AF0BC; } goto L_089AF06C; } L_089AF06C: aot_gpr_31 = (0x089AF074u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF074u) goto L_089AF074; AOT_REGCACHE_SYNC_OUT(); return; L_089AF074: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF0BC; } goto L_089AF07C; } L_089AF07C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); ctx.gpr[18] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); ctx.gpr[19] = (aot_gpr_4 + static_cast(272)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AF098u); ctx.gpr[20] = (ctx.gpr[17] + aot_gpr_5); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF098u) goto L_089AF098; AOT_REGCACHE_SYNC_OUT(); return; L_089AF098: ctx.gpr[21] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_31 = (0x089AF0A4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0A4u) goto L_089AF0A4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF0A4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF0BCu); aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0BCu) goto L_089AF0BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF0BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089AF0D4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0D4u) goto L_089AF0D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF0D4: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AF0E0u); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AF0E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AF100; } goto L_089AF0F0; } L_089AF0F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF300; } goto L_089AF100; } L_089AF100: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 64u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF204; } goto L_089AF114; } L_089AF114: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AF204; } goto L_089AF124; } L_089AF124: aot_gpr_31 = (0x089AF12Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF12Cu) goto L_089AF12C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF12C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF204; } goto L_089AF134; } L_089AF134: aot_gpr_31 = (0x089AF13Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF13Cu) goto L_089AF13C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF13C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 114u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AF164; } goto L_089AF14C; } L_089AF14C: aot_gpr_31 = (0x089AF154u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF154u) goto L_089AF154; AOT_REGCACHE_SYNC_OUT(); return; L_089AF154: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 115u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF19C; } goto L_089AF164; } L_089AF164: aot_gpr_31 = (0x089AF16Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF16Cu) goto L_089AF16C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF16C: aot_gpr_4 = (16110u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 62285u); 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_089AF19C; } goto L_089AF18C; } L_089AF18C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AF300; } goto L_089AF19C; } L_089AF19C: aot_gpr_31 = (0x089AF1A4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1A4u) goto L_089AF1A4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF1A4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 116u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AF1CC; } goto L_089AF1B4; } L_089AF1B4: aot_gpr_31 = (0x089AF1BCu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1BCu) goto L_089AF1BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF1BC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 117u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF300; } goto L_089AF1CC; } L_089AF1CC: aot_gpr_31 = (0x089AF1D4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1D4u) goto L_089AF1D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF1D4: aot_gpr_4 = (16110u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 62285u); 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_089AF300; } goto L_089AF1F4; } L_089AF1F4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AF300; } goto L_089AF204; } L_089AF204: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 59u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF300; } goto L_089AF214; } L_089AF214: aot_gpr_31 = (0x089AF21Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF21Cu) goto L_089AF21C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF21C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF300; } goto L_089AF224; } L_089AF224: aot_gpr_31 = (0x089AF22Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF22Cu) goto L_089AF22C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF22C: aot_gpr_4 = (16076u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF300; } goto L_089AF24C; } L_089AF24C: aot_gpr_31 = (0x089AF254u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF254u) goto L_089AF254; AOT_REGCACHE_SYNC_OUT(); return; L_089AF254: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089AF260u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF260u) goto L_089AF260; AOT_REGCACHE_SYNC_OUT(); return; L_089AF260: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF300; } goto L_089AF278; } L_089AF278: aot_gpr_31 = (0x089AF280u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF280u) goto L_089AF280; AOT_REGCACHE_SYNC_OUT(); return; L_089AF280: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 196u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF2B4; } goto L_089AF290; } L_089AF290: ctx.gpr[7] = (16448u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x089AF2ACu); aot_gpr_6 = (0u | 188u); 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 == 0x089AF2ACu) goto L_089AF2AC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF2AC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF300; } goto L_089AF2B4; } L_089AF2B4: aot_gpr_31 = (0x089AF2BCu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF2BCu) goto L_089AF2BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF2BC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 118u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AF2E4; } goto L_089AF2CC; } L_089AF2CC: aot_gpr_31 = (0x089AF2D4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF2D4u) goto L_089AF2D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF2D4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 119u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF300; } goto L_089AF2E4; } L_089AF2E4: ctx.gpr[7] = (16448u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x089AF300u); aot_gpr_6 = (0u | 187u); 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 == 0x089AF300u) goto L_089AF300; AOT_REGCACHE_SYNC_OUT(); return; L_089AF300: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; ctx.gpr[21] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AF330: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(116), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_31); aot_gpr_31 = (0x089AF364u); 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_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF364u) goto L_089AF364; AOT_REGCACHE_SYNC_OUT(); return; L_089AF364: aot_gpr_4 = (0u | 2u); { const bool branch_taken = aot_gpr_2 == aot_gpr_4; if (branch_taken) { goto L_089AF380; } goto L_089AF370; } L_089AF370: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF5D4; } goto L_089AF380; } L_089AF380: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.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_089AF624; } goto L_089AF390; } L_089AF390: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF3C4; } goto L_089AF3B4; } L_089AF3B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF624; } goto L_089AF3C4; } L_089AF3C4: aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_20) || std::isnan(aot_fpr_13)) && aot_fpr_20 == 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(20))); if (branch_taken) { goto L_089AF424; } goto L_089AF408; } L_089AF408: 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_089AF428; } goto L_089AF41C; L_089AF41C: { const bool branch_taken = 0u == 0u; aot_fpr_20 = std::bit_cast(0u); if (branch_taken) { goto L_089AF434; } goto L_089AF424; } L_089AF424: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_089AF428; L_089AF428: aot_gpr_31 = (0x089AF430u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_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 == 0x089AF430u) goto L_089AF430; AOT_REGCACHE_SYNC_OUT(); return; L_089AF430: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_089AF434; L_089AF434: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_14 = std::bit_cast(0u); 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_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(ctx.gpr[17] + static_cast(20))); if (branch_taken) { goto L_089AF46C; } goto L_089AF450; } L_089AF450: 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_089AF46C; } goto L_089AF464; } L_089AF464: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(0u); if (branch_taken) { goto L_089AF478; } goto L_089AF46C; } L_089AF46C: aot_gpr_31 = (0x089AF474u); 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 == 0x089AF474u) goto L_089AF474; AOT_REGCACHE_SYNC_OUT(); return; L_089AF474: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_089AF478; L_089AF478: aot_fpr_20 = aot_fpr_20 - aot_fpr_12; aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF4AC; } goto L_089AF498; } L_089AF498: aot_gpr_4 = (16585u << 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_20 = aot_fpr_20 - aot_fpr_12; if (branch_taken) { goto L_089AF4D8; } goto L_089AF4AC; } L_089AF4AC: aot_gpr_4 = (49225u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF4D8; } goto L_089AF4C8; } L_089AF4C8: aot_gpr_4 = (16585u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_20 = aot_fpr_20 + aot_fpr_12; goto L_089AF4D8; L_089AF4D8: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20) & 0x7FFFFFFFu); aot_gpr_4 = (16134u << 16u); aot_gpr_4 = (aot_gpr_4 | 2706u); 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_089AF5CC; } goto L_089AF4F8; } L_089AF4F8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AF5CC; } goto L_089AF504; } L_089AF504: aot_gpr_31 = (0x089AF50Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF50Cu) goto L_089AF50C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF50C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF53C; } goto L_089AF514; } L_089AF514: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3156))); aot_gpr_4 = (16320u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089AF53C; } goto L_089AF530; } L_089AF530: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AF59C; } goto L_089AF53C; } L_089AF53C: aot_gpr_31 = (0x089AF544u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF544u) goto L_089AF544; AOT_REGCACHE_SYNC_OUT(); return; L_089AF544: if (aot_gpr_2 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF54C; L_089AF54C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); if (aot_gpr_4 == aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF55C; L_089AF55C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_gpr_5 = (0u | 4u); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF56C; L_089AF56C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < 66 ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF580; L_089AF580: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AF59C; } goto L_089AF58C; } L_089AF58C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; L_089AF590: aot_gpr_5 = (0u | 20u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF5CC; } goto L_089AF59C; } L_089AF59C: aot_gpr_4 = (0u | 20u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 20u); aot_gpr_31 = (0x089AF5BCu); ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF5BCu) goto L_089AF5BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF5BC: { 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 = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF5CC; } L_089AF5CC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF624; } goto L_089AF5D4; } L_089AF5D4: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.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_089AF624; } goto L_089AF5E4; } L_089AF5E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AF624; } goto L_089AF5F0; } L_089AF5F0: 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 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AF624; } goto L_089AF600; } L_089AF600: 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_089AF624; } goto L_089AF610; } L_089AF610: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AF620u); aot_gpr_6 = (0u | 64u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF620u) goto L_089AF620; AOT_REGCACHE_SYNC_OUT(); return; L_089AF620: ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_089AF624; L_089AF624: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x089AF638u); ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF638u) goto L_089AF638; AOT_REGCACHE_SYNC_OUT(); return; L_089AF638: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AF658u); ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF658u) goto L_089AF658; AOT_REGCACHE_SYNC_OUT(); return; L_089AF658: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_14)); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_13 = ctx.fpr[16] - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_13)); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.fpr[15] = ctx.fpr[17] - ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[15])); { 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_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; { 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; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_13 = aot_fpr_13 + ctx.fpr[15]; 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_089AF750; } goto L_089AF6C8; } L_089AF6C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF6E8u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF6E8u) goto L_089AF6E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AF6E8: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF70C; } goto L_089AF6F0; } L_089AF6F0: aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF70C; } L_089AF70C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF72Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF72Cu) goto L_089AF72C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF72C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF734; } L_089AF734: aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF750; } L_089AF750: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF770u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF770u) goto L_089AF770; AOT_REGCACHE_SYNC_OUT(); return; L_089AF770: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF8C0; } goto L_089AF778; } L_089AF778: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AF784u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF784u) goto L_089AF784; AOT_REGCACHE_SYNC_OUT(); return; L_089AF784: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF850; } goto L_089AF78C; } L_089AF78C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AF850; } goto L_089AF79C; } L_089AF79C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AF850; } goto L_089AF7AC; } L_089AF7AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AF850; } goto L_089AF7BC; } L_089AF7BC: aot_gpr_31 = (0x089AF7C4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF7C4u) goto L_089AF7C4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF7C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(676))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AF80C; } goto L_089AF7D0; } L_089AF7D0: aot_gpr_31 = (0x089AF7D8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF7D8u) goto L_089AF7D8; AOT_REGCACHE_SYNC_OUT(); return; L_089AF7D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); goto L_089AF810; } goto L_089AF7EC; L_089AF7EC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AF850; } goto L_089AF7FC; } L_089AF7FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.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_089AF850; } goto L_089AF80C; } L_089AF80C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); goto L_089AF810; L_089AF810: aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF82Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF82Cu) goto L_089AF82C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF82C: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF850; } goto L_089AF834; } L_089AF834: aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF850; } L_089AF850: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089AF8A4; } goto L_089AF860; } L_089AF860: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF880u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF880u) goto L_089AF880; AOT_REGCACHE_SYNC_OUT(); return; L_089AF880: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF8A4; } goto L_089AF888; } L_089AF888: aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF8A4; } L_089AF8A4: aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF8C0; } L_089AF8C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF8E0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF8E0u) goto L_089AF8E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AF8E0: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AF8FC; } goto L_089AF8E8; } L_089AF8E8: aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089AF8FC; L_089AF8FC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AF91C: aot_gpr_29 = (aot_gpr_29 + static_cast(-240)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[20]); ctx.gpr[20] = (0u | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089AF96C; } goto L_089AF95C; } L_089AF95C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089AF96C; L_089AF96C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u | 246u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 194u); if (branch_taken) { goto L_089AF9C4; } goto L_089AF97C; } L_089AF97C: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u + static_cast(-966)); if (branch_taken) { goto L_089AF9CC; } goto L_089AF984; } L_089AF984: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089AF994; } goto L_089AF98C; } L_089AF98C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (17529u << 16u); if (branch_taken) { goto L_089AFA60; } goto L_089AF994; } L_089AF994: aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AF9B4u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF9B4u) goto L_089AF9B4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF9B4: { 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 = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AFEDC; } goto L_089AF9C4; } L_089AF9C4: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (17529u << 16u); if (branch_taken) { goto L_089AFA60; } goto L_089AF9CC; } L_089AF9CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(468))); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AFA58; } goto L_089AF9E0; } L_089AF9E0: aot_gpr_31 = (0x089AF9E8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF9E8u) goto L_089AF9E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AF9E8: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AFA58; } goto L_089AF9F0; } L_089AF9F0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AFA58; } goto L_089AFA00; } L_089AFA00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFA20u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFA20u) goto L_089AFA20; AOT_REGCACHE_SYNC_OUT(); return; L_089AFA20: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AFA58; } goto L_089AFA28; } L_089AFA28: aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AFA48u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFA48u) goto L_089AFA48; AOT_REGCACHE_SYNC_OUT(); return; L_089AFA48: { 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 = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AFEDC; } goto L_089AFA58; } L_089AFA58: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089AFEDC; } goto L_089AFA60; } L_089AFA60: aot_gpr_4 = (aot_gpr_4 | 49152u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), 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(64), aot_run_words); } aot_gpr_31 = (0x089AFA90u); 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_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFA90u) goto L_089AFA90; AOT_REGCACHE_SYNC_OUT(); return; L_089AFA90: aot_gpr_4 = (0u | 2u); { const bool branch_taken = aot_gpr_2 != aot_gpr_4; if (branch_taken) { goto L_089AFBD4; } goto L_089AFA9C; } L_089AFA9C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFAA8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFAA8u) goto L_089AFAA8; AOT_REGCACHE_SYNC_OUT(); return; L_089AFAA8: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AFB34; } goto L_089AFAB0; } L_089AFAB0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AFB34; } goto L_089AFAC0; } L_089AFAC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 11u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFAE0u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFAE0u) goto L_089AFAE0; AOT_REGCACHE_SYNC_OUT(); return; L_089AFAE0: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AFB34; } goto L_089AFAE8; } L_089AFAE8: ctx.gpr[20] = (aot_gpr_29 + static_cast(128)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x089AFB00u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB00u) goto L_089AFB00; AOT_REGCACHE_SYNC_OUT(); return; L_089AFB00: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (0u | 1u); goto L_089AFB34; L_089AFB34: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFB40u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB40u) goto L_089AFB40; AOT_REGCACHE_SYNC_OUT(); return; L_089AFB40: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AFC98; } goto L_089AFB48; } L_089AFB48: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AFC98; } goto L_089AFB58; } L_089AFB58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 9u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFB78u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB78u) goto L_089AFB78; AOT_REGCACHE_SYNC_OUT(); return; L_089AFB78: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AFC98; } goto L_089AFB80; } L_089AFB80: ctx.gpr[20] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x089AFB98u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB98u) goto L_089AFB98; AOT_REGCACHE_SYNC_OUT(); return; L_089AFB98: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(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_gpr_4 = (ctx.gpr[18] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (0u | 1u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089AFC98; } goto L_089AFBD4; } L_089AFBD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(468))); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AFC98; } goto L_089AFBE8; } L_089AFBE8: aot_gpr_31 = (0x089AFBF0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFBF0u) goto L_089AFBF0; AOT_REGCACHE_SYNC_OUT(); return; L_089AFBF0: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AFC98; } goto L_089AFBF8; } L_089AFBF8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AFC98; } goto L_089AFC08; } L_089AFC08: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFC28u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFC28u) goto L_089AFC28; AOT_REGCACHE_SYNC_OUT(); return; L_089AFC28: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AFC98; } goto L_089AFC30; } L_089AFC30: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 16384u); 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_089AFC98; } goto L_089AFC4C; } L_089AFC4C: ctx.gpr[20] = (aot_gpr_29 + static_cast(160)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AFC64u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFC64u) goto L_089AFC64; AOT_REGCACHE_SYNC_OUT(); return; L_089AFC64: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (0u | 1u); goto L_089AFC98; L_089AFC98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(468))); aot_gpr_5 = (2u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AFDFC; } goto L_089AFCAC; } L_089AFCAC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(628)))))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089AFDFC; } goto L_089AFCBC; } L_089AFCBC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFCC8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFCC8u) goto L_089AFCC8; AOT_REGCACHE_SYNC_OUT(); return; L_089AFCC8: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AFD54; } goto L_089AFCD0; } L_089AFCD0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AFD54; } goto L_089AFCE0; } L_089AFCE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 11u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFD00u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD00u) goto L_089AFD00; AOT_REGCACHE_SYNC_OUT(); return; L_089AFD00: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AFD54; } goto L_089AFD08; } L_089AFD08: ctx.gpr[19] = (aot_gpr_29 + static_cast(176)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x089AFD20u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD20u) goto L_089AFD20; AOT_REGCACHE_SYNC_OUT(); return; L_089AFD20: { 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(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (0u | 1u); goto L_089AFD54; L_089AFD54: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFD60u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD60u) goto L_089AFD60; AOT_REGCACHE_SYNC_OUT(); return; L_089AFD60: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_089AFDEC; } goto L_089AFD68; } L_089AFD68: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089AFDEC; } goto L_089AFD78; } L_089AFD78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 9u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); 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))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFD98u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD98u) goto L_089AFD98; AOT_REGCACHE_SYNC_OUT(); return; L_089AFD98: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_089AFDEC; } goto L_089AFDA0; } L_089AFDA0: ctx.gpr[19] = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x089AFDB8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFDB8u) goto L_089AFDB8; AOT_REGCACHE_SYNC_OUT(); return; L_089AFDB8: { 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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (0u | 1u); goto L_089AFDEC; L_089AFDEC: { const bool branch_taken = ctx.gpr[20] != 0u; if (branch_taken) { goto L_089AFDFC; } goto L_089AFDF4; } L_089AFDF4: aot_gpr_31 = (0x089AFDFCu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 400u, 0x08B05DC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFDFCu) goto L_089AFDFC; AOT_REGCACHE_SYNC_OUT(); return; L_089AFDFC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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_4 = (0u | 8u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 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_089AFE80; } goto L_089AFE58; L_089AFE58: aot_gpr_4 = (0u | 11u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); goto L_089AFE80; L_089AFE80: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); { 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; } { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; 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_089AFED8; } goto L_089AFEB4; } L_089AFEB4: aot_gpr_4 = (0u | 9u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(aot_fpr_12)); 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<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[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); } goto L_089AFED8; L_089AFED8: aot_gpr_2 = (ctx.gpr[20] | 0u); goto L_089AFEDC; L_089AFEDC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(208), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(240)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089AFEFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-592)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(556), aot_run_words); } ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(552), std::bit_cast(ctx.fpr[24])); { const std::uint32_t aot_run_words[4]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(576), aot_run_words); } aot_gpr_31 = (0x089AFF50u); ctx.gpr[21] = (0u | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFF50u) goto L_089AFF50; AOT_REGCACHE_SYNC_OUT(); return; L_089AFF50: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 7u, 0x089B0074u>(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_089AFF58; } L_089AFF58: aot_gpr_31 = (0x089AFF60u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFF60u) goto L_089AFF60; AOT_REGCACHE_SYNC_OUT(); return; L_089AFF60: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 412u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 7u, 0x089B0074u>(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_089AFF70; } L_089AFF70: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089AFF98; } goto L_089AFF88; } L_089AFF88: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089AFF98; L_089AFF98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); aot_gpr_6 = (0u | 1u); if (aot_gpr_4 != aot_gpr_6) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); goto L_089AFFB0; } goto L_089AFFA8; L_089AFFA8: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(96)); if (branch_taken) { goto L_089AFFC4; } goto L_089AFFB0; } L_089AFFB0: aot_gpr_6 = (0u | 2u); if (aot_gpr_4 != aot_gpr_6) { aot_gpr_5 = (aot_gpr_5 + static_cast(160)); goto L_089AFFC4; } goto L_089AFFBC; L_089AFFBC: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(96)); if (branch_taken) { goto L_089AFFC4; } goto L_089AFFC4; } L_089AFFC4: { 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_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_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { 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 = 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)); ctx.pc = 0x089B0000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0106(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0106_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_106(Runtime &runtime) { runtime.register_generated_unit(106u, 0x089AC000u, 16384u, &recomp_unit_0106, &recomp_unit_0106_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x089AC000u, &recomp_unit_0106, "recomp_unit_0106", kEntryMasks_recomp_unit_0106, 64u); } } // namespace psprecomp