#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_0067[59] = { 0x0481251026A82103ull, 0x44080A6A82110200ull, 0x4021522084120049ull, 0x280854A4A8084A10ull, 0x90A54042A5010A95ull, 0x0440208001205096ull, 0x0B4AA4A952A920A2ull, 0x4B12C00486900140ull, 0x042090149497088Aull, 0xA204885548022009ull, 0xA0214A9AD52A02A0ull, 0x029B228A82884852ull, 0x48085200020D1121ull, 0x88004248AC562951ull, 0x1AAA888888888888ull, 0x10AA922AA24A8801ull, 0x2900A28820A885A8ull, 0x9541105349015080ull, 0xC010410212824140ull, 0x0000009016544910ull, 0x1A50002124000000ull, 0x9000054834145549ull, 0x228090801521A4A2ull, 0x20005AAAA8900480ull, 0x240400202A121009ull, 0x8210010040204152ull, 0x1152A01421084210ull, 0x1148840082224924ull, 0x005014AA24244204ull, 0xAB16A11008088823ull, 0x28510AAD5B888881ull, 0x080000414554A945ull, 0x1852240400000040ull, 0x1852281030A45408ull, 0x0020000080520408ull, 0x2930144810000001ull, 0x0408A52842220080ull, 0x052A444801000C0Aull, 0x4080428809085548ull, 0x010A012109008040ull, 0x552009A551108102ull, 0x1062AC8AA9004181ull, 0x2AA000801062AA40ull, 0x010A108808800005ull, 0x0844102240028AA4ull, 0x0002154202082080ull, 0xAD02148040212851ull, 0x090010722C0040A2ull, 0x2410104AAB108202ull, 0x0410504082095112ull, 0x4489510021028102ull, 0x00100AAA28000045ull, 0x8825AA4040914880ull, 0x5044A0B249000284ull, 0x80000000100C1410ull, 0x402000400020A000ull, 0x0000000000800000ull, 0x0024001080004000ull, 0x0000210009240008ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0067[59] = { 1u, 18u, 32u, 46u, 63u, 83u, 95u, 119u, 135u, 153u, 169u, 191u, 211u, 225u, 245u, 264u, 284u, 302u, 320u, 333u, 345u, 354u, 372u, 389u, 405u, 417u, 428u, 443u, 458u, 473u, 492u, 515u, 531u, 540u, 557u, 564u, 575u, 588u, 602u, 617u, 627u, 645u, 664u, 679u, 689u, 703u, 713u, 730u, 744u, 760u, 774u, 788u, 800u, 817u, 833u, 840u, 846u, 847u, 852u, }; void recomp_unit_0067_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,29,6,16 fprs=12,13,20,14 gpr_occ=4420 fpr_occ=444 gpr_total=5974 fpr_total=506 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_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_redispatch_rounds = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x08910000u; entry_id = 0u; if (entry_delta < 15032u && (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_0067[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_0067[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_08910000; case 2u: goto L_08910004; case 3u: goto L_08910020; case 4u: goto L_08910034; case 5u: goto L_0891004C; case 6u: goto L_08910054; case 7u: goto L_0891005C; case 8u: goto L_08910064; case 9u: goto L_08910068; case 10u: goto L_08910074; case 11u: goto L_08910090; case 12u: goto L_089100A0; case 13u: goto L_089100A8; case 14u: goto L_089100B4; case 15u: goto L_089100C0; case 16u: goto L_089100DC; case 17u: goto L_089100E8; case 18u: goto L_08910124; case 19u: goto L_08910140; case 20u: goto L_08910150; case 21u: goto L_08910164; case 22u: goto L_0891017C; case 23u: goto L_08910184; case 24u: goto L_0891018C; case 25u: goto L_08910194; case 26u: goto L_08910198; case 27u: goto L_089101A4; case 28u: goto L_089101AC; case 29u: goto L_089101CC; case 30u: goto L_089101E8; case 31u: goto L_089101F8; case 32u: goto L_08910200; case 33u: goto L_0891020C; case 34u: goto L_08910218; case 35u: goto L_08910244; case 36u: goto L_08910250; case 37u: goto L_08910268; case 38u: goto L_0891027C; case 39u: goto L_08910294; case 40u: goto L_089102A4; case 41u: goto L_089102B0; case 42u: goto L_089102B8; case 43u: goto L_089102C0; case 44u: goto L_089102D4; case 45u: goto L_089102F8; case 46u: goto L_08910310; case 47u: goto L_08910324; case 48u: goto L_0891032C; case 49u: goto L_08910338; case 50u: goto L_0891034C; case 51u: goto L_0891036C; case 52u: goto L_08910374; case 53u: goto L_0891037C; case 54u: goto L_08910388; case 55u: goto L_08910394; case 56u: goto L_0891039C; case 57u: goto L_089103A8; case 58u: goto L_089103B0; case 59u: goto L_089103B8; case 60u: goto L_089103CC; case 61u: goto L_089103EC; case 62u: goto L_089103F4; case 63u: goto L_08910400; case 64u: goto L_08910408; case 65u: goto L_08910410; case 66u: goto L_0891041C; case 67u: goto L_08910424; case 68u: goto L_0891042C; case 69u: goto L_08910440; case 70u: goto L_08910460; case 71u: goto L_08910468; case 72u: goto L_08910474; case 73u: goto L_0891047C; case 74u: goto L_08910484; case 75u: goto L_08910498; case 76u: goto L_089104B8; case 77u: goto L_089104C0; case 78u: goto L_089104C8; case 79u: goto L_089104D4; case 80u: goto L_089104DC; case 81u: goto L_089104F0; case 82u: goto L_089104FC; case 83u: goto L_08910504; case 84u: goto L_08910508; case 85u: goto L_08910510; case 86u: goto L_0891051C; case 87u: goto L_08910530; case 88u: goto L_08910538; case 89u: goto L_08910554; case 90u: goto L_08910560; case 91u: goto L_0891059C; case 92u: goto L_089105B4; case 93u: goto L_089105D8; case 94u: goto L_089105E8; case 95u: goto L_08910604; case 96u: goto L_08910614; case 97u: goto L_0891061C; case 98u: goto L_08910634; case 99u: goto L_08910640; case 100u: goto L_0891064C; case 101u: goto L_08910654; case 102u: goto L_0891065C; case 103u: goto L_08910664; case 104u: goto L_08910670; case 105u: goto L_08910678; case 106u: goto L_08910680; case 107u: goto L_0891068C; case 108u: goto L_08910694; case 109u: goto L_0891069C; case 110u: goto L_089106A8; case 111u: goto L_089106B4; case 112u: goto L_089106BC; case 113u: goto L_089106C4; case 114u: goto L_089106CC; case 115u: goto L_089106D8; case 116u: goto L_089106E0; case 117u: goto L_089106E4; case 118u: goto L_089106EC; case 119u: goto L_08910718; case 120u: goto L_08910720; case 121u: goto L_08910750; case 122u: goto L_0891075C; case 123u: goto L_08910764; case 124u: goto L_08910768; case 125u: goto L_0891077C; case 126u: goto L_08910788; case 127u: goto L_089107B8; case 128u: goto L_089107BC; case 129u: goto L_089107C4; case 130u: goto L_089107D0; case 131u: goto L_089107E0; case 132u: goto L_089107E4; case 133u: goto L_089107EC; case 134u: goto L_089107F8; case 135u: goto L_08910804; case 136u: goto L_0891080C; case 137u: goto L_0891081C; case 138u: goto L_0891082C; case 139u: goto L_08910840; case 140u: goto L_08910844; case 141u: goto L_08910848; case 142u: goto L_08910850; case 143u: goto L_0891085C; case 144u: goto L_08910868; case 145u: goto L_08910870; case 146u: goto L_0891087C; case 147u: goto L_08910888; case 148u: goto L_08910890; case 149u: goto L_089108B0; case 150u: goto L_089108BC; case 151u: goto L_089108D4; case 152u: goto L_089108E8; case 153u: goto L_08910900; case 154u: goto L_0891090C; case 155u: goto L_08910934; case 156u: goto L_08910944; case 157u: goto L_0891096C; case 158u: goto L_08910978; case 159u: goto L_08910980; case 160u: goto L_08910988; case 161u: goto L_08910990; case 162u: goto L_08910998; case 163u: goto L_089109AC; case 164u: goto L_089109BC; case 165u: goto L_089109C8; case 166u: goto L_089109E4; case 167u: goto L_089109F4; case 168u: goto L_089109FC; case 169u: goto L_08910A14; case 170u: goto L_08910A1C; case 171u: goto L_08910A24; case 172u: goto L_08910A44; case 173u: goto L_08910A4C; case 174u: goto L_08910A54; case 175u: goto L_08910A60; case 176u: goto L_08910A68; case 177u: goto L_08910A70; case 178u: goto L_08910A78; case 179u: goto L_08910A7C; case 180u: goto L_08910A84; case 181u: goto L_08910A8C; case 182u: goto L_08910A90; case 183u: goto L_08910A9C; case 184u: goto L_08910AA4; case 185u: goto L_08910AAC; case 186u: goto L_08910AB8; case 187u: goto L_08910AC0; case 188u: goto L_08910AD4; case 189u: goto L_08910AF4; case 190u: goto L_08910AFC; case 191u: goto L_08910B04; case 192u: goto L_08910B10; case 193u: goto L_08910B18; case 194u: goto L_08910B2C; case 195u: goto L_08910B38; case 196u: goto L_08910B4C; case 197u: goto L_08910B5C; case 198u: goto L_08910B64; case 199u: goto L_08910B7C; case 200u: goto L_08910B84; case 201u: goto L_08910B8C; case 202u: goto L_08910B9C; case 203u: goto L_08910BA4; case 204u: goto L_08910BB4; case 205u: goto L_08910BC0; case 206u: goto L_08910BC4; case 207u: goto L_08910BCC; case 208u: goto L_08910BD0; case 209u: goto L_08910BDC; case 210u: goto L_08910BE4; case 211u: goto L_08910C00; case 212u: goto L_08910C14; case 213u: goto L_08910C20; case 214u: goto L_08910C30; case 215u: goto L_08910C40; case 216u: goto L_08910C48; case 217u: goto L_08910C4C; case 218u: goto L_08910C64; case 219u: goto L_08910CA4; case 220u: goto L_08910CB0; case 221u: goto L_08910CB8; case 222u: goto L_08910CCC; case 223u: goto L_08910CEC; case 224u: goto L_08910CF8; case 225u: goto L_08910D00; case 226u: goto L_08910D10; case 227u: goto L_08910D18; case 228u: goto L_08910D20; case 229u: goto L_08910D2C; case 230u: goto L_08910D34; case 231u: goto L_08910D44; case 232u: goto L_08910D48; case 233u: goto L_08910D50; case 234u: goto L_08910D58; case 235u: goto L_08910D68; case 236u: goto L_08910D6C; case 237u: goto L_08910D74; case 238u: goto L_08910D7C; case 239u: goto L_08910D8C; case 240u: goto L_08910D98; case 241u: goto L_08910DA4; case 242u: goto L_08910DB8; case 243u: goto L_08910DEC; case 244u: goto L_08910DFC; case 245u: goto L_08910E0C; case 246u: goto L_08910E1C; case 247u: goto L_08910E2C; case 248u: goto L_08910E3C; case 249u: goto L_08910E4C; case 250u: goto L_08910E5C; case 251u: goto L_08910E6C; case 252u: goto L_08910E7C; case 253u: goto L_08910E8C; case 254u: goto L_08910E9C; case 255u: goto L_08910EAC; case 256u: goto L_08910EBC; case 257u: goto L_08910EC4; case 258u: goto L_08910ECC; case 259u: goto L_08910ED4; case 260u: goto L_08910EDC; case 261u: goto L_08910EE4; case 262u: goto L_08910EEC; case 263u: goto L_08910EF0; case 264u: goto L_08910F00; case 265u: goto L_08910F2C; case 266u: goto L_08910F3C; case 267u: goto L_08910F44; case 268u: goto L_08910F4C; case 269u: goto L_08910F58; case 270u: goto L_08910F64; case 271u: goto L_08910F74; case 272u: goto L_08910F7C; case 273u: goto L_08910F84; case 274u: goto L_08910F8C; case 275u: goto L_08910F94; case 276u: goto L_08910FA4; case 277u: goto L_08910FB0; case 278u: goto L_08910FBC; case 279u: goto L_08910FC4; case 280u: goto L_08910FCC; case 281u: goto L_08910FD4; case 282u: goto L_08910FDC; case 283u: goto L_08910FF0; case 284u: goto L_0891100C; case 285u: goto L_08911014; case 286u: goto L_0891101C; case 287u: goto L_08911020; case 288u: goto L_08911028; case 289u: goto L_0891103C; case 290u: goto L_0891104C; case 291u: goto L_08911054; case 292u: goto L_0891105C; case 293u: goto L_08911074; case 294u: goto L_0891108C; case 295u: goto L_0891109C; case 296u: goto L_089110A4; case 297u: goto L_089110B4; case 298u: goto L_089110BC; case 299u: goto L_089110E0; case 300u: goto L_089110EC; case 301u: goto L_089110F4; case 302u: goto L_0891111C; case 303u: goto L_08911130; case 304u: goto L_08911138; case 305u: goto L_08911140; case 306u: goto L_08911160; case 307u: goto L_0891116C; case 308u: goto L_08911178; case 309u: goto L_08911180; case 310u: goto L_08911184; case 311u: goto L_08911190; case 312u: goto L_08911198; case 313u: goto L_089111B0; case 314u: goto L_089111C0; case 315u: goto L_089111D8; case 316u: goto L_089111E0; case 317u: goto L_089111E8; case 318u: goto L_089111F0; case 319u: goto L_089111FC; case 320u: goto L_08911218; case 321u: goto L_08911220; case 322u: goto L_08911238; case 323u: goto L_08911244; case 324u: goto L_0891125C; case 325u: goto L_08911264; case 326u: goto L_08911270; case 327u: goto L_08911284; case 328u: goto L_089112A0; case 329u: goto L_089112B8; case 330u: goto L_089112D0; case 331u: goto L_089112F8; case 332u: goto L_089112FC; case 333u: goto L_08911310; case 334u: goto L_08911320; case 335u: goto L_0891132C; case 336u: goto L_08911338; case 337u: goto L_08911348; case 338u: goto L_08911350; case 339u: goto L_08911358; case 340u: goto L_08911364; case 341u: goto L_08911368; case 342u: goto L_08911370; case 343u: goto L_08911390; case 344u: goto L_0891139C; case 345u: goto L_08911468; case 346u: goto L_08911474; case 347u: goto L_08911480; case 348u: goto L_08911494; case 349u: goto L_089114D0; case 350u: goto L_089114D8; case 351u: goto L_089114E4; case 352u: goto L_089114EC; case 353u: goto L_089114F0; case 354u: goto L_08911500; case 355u: goto L_0891150C; case 356u: goto L_08911518; case 357u: goto L_08911520; case 358u: goto L_08911528; case 359u: goto L_08911530; case 360u: goto L_08911538; case 361u: goto L_08911548; case 362u: goto L_08911550; case 363u: goto L_08911568; case 364u: goto L_08911570; case 365u: goto L_08911574; case 366u: goto L_0891158C; case 367u: goto L_08911598; case 368u: goto L_089115A0; case 369u: goto L_089115A8; case 370u: goto L_089115F0; case 371u: goto L_089115FC; case 372u: goto L_08911604; case 373u: goto L_08911614; case 374u: goto L_0891161C; case 375u: goto L_08911628; case 376u: goto L_08911634; case 377u: goto L_0891163C; case 378u: goto L_08911640; case 379u: goto L_08911654; case 380u: goto L_08911660; case 381u: goto L_08911668; case 382u: goto L_08911670; case 383u: goto L_0891169C; case 384u: goto L_089116B0; case 385u: goto L_089116BC; case 386u: goto L_089116DC; case 387u: goto L_089116E4; case 388u: goto L_089116F4; case 389u: goto L_0891171C; case 390u: goto L_08911728; case 391u: goto L_08911750; case 392u: goto L_0891175C; case 393u: goto L_0891176C; case 394u: goto L_08911774; case 395u: goto L_0891177C; case 396u: goto L_08911784; case 397u: goto L_0891178C; case 398u: goto L_08911794; case 399u: goto L_0891179C; case 400u: goto L_089117A4; case 401u: goto L_089117AC; case 402u: goto L_089117B0; case 403u: goto L_089117B8; case 404u: goto L_089117F4; case 405u: goto L_08911800; case 406u: goto L_0891180C; case 407u: goto L_08911830; case 408u: goto L_08911844; case 409u: goto L_08911850; case 410u: goto L_08911864; case 411u: goto L_0891186C; case 412u: goto L_08911874; case 413u: goto L_08911894; case 414u: goto L_089118C8; case 415u: goto L_089118E8; case 416u: goto L_089118F4; case 417u: goto L_08911904; case 418u: goto L_08911910; case 419u: goto L_08911918; case 420u: goto L_08911920; case 421u: goto L_08911938; case 422u: goto L_08911954; case 423u: goto L_08911978; case 424u: goto L_089119A0; case 425u: goto L_089119D0; case 426u: goto L_089119E4; case 427u: goto L_089119FC; case 428u: goto L_08911A10; case 429u: goto L_08911A24; case 430u: goto L_08911A38; case 431u: goto L_08911A4C; case 432u: goto L_08911A60; case 433u: goto L_08911A74; case 434u: goto L_08911A88; case 435u: goto L_08911A90; case 436u: goto L_08911AB4; case 437u: goto L_08911ABC; case 438u: goto L_08911AC4; case 439u: goto L_08911AD0; case 440u: goto L_08911AD8; case 441u: goto L_08911AE0; case 442u: goto L_08911AF0; case 443u: goto L_08911B08; case 444u: goto L_08911B14; case 445u: goto L_08911B20; case 446u: goto L_08911B2C; case 447u: goto L_08911B38; case 448u: goto L_08911B44; case 449u: goto L_08911B54; case 450u: goto L_08911B64; case 451u: goto L_08911B7C; case 452u: goto L_08911BA8; case 453u: goto L_08911BBC; case 454u: goto L_08911BCC; case 455u: goto L_08911BD8; case 456u: goto L_08911BE0; case 457u: goto L_08911BF0; case 458u: goto L_08911C08; case 459u: goto L_08911C24; case 460u: goto L_08911C38; case 461u: goto L_08911C48; case 462u: goto L_08911C54; case 463u: goto L_08911C68; case 464u: goto L_08911C74; case 465u: goto L_08911C84; case 466u: goto L_08911C8C; case 467u: goto L_08911C94; case 468u: goto L_08911C9C; case 469u: goto L_08911CA8; case 470u: goto L_08911CB0; case 471u: goto L_08911CD0; case 472u: goto L_08911CD8; case 473u: goto L_08911D00; case 474u: goto L_08911D04; case 475u: goto L_08911D14; case 476u: goto L_08911D2C; case 477u: goto L_08911D3C; case 478u: goto L_08911D4C; case 479u: goto L_08911D6C; case 480u: goto L_08911D90; case 481u: goto L_08911DA0; case 482u: goto L_08911DB4; case 483u: goto L_08911DBC; case 484u: goto L_08911DC4; case 485u: goto L_08911DC8; case 486u: goto L_08911DD0; case 487u: goto L_08911DE0; case 488u: goto L_08911DE4; case 489u: goto L_08911DEC; case 490u: goto L_08911DF4; case 491u: goto L_08911DFC; case 492u: goto L_08911E00; case 493u: goto L_08911E1C; case 494u: goto L_08911E2C; case 495u: goto L_08911E3C; case 496u: goto L_08911E4C; case 497u: goto L_08911E5C; case 498u: goto L_08911E60; case 499u: goto L_08911E64; case 500u: goto L_08911E6C; case 501u: goto L_08911E70; case 502u: goto L_08911E78; case 503u: goto L_08911E80; case 504u: goto L_08911E88; case 505u: goto L_08911E8C; case 506u: goto L_08911E94; case 507u: goto L_08911E9C; case 508u: goto L_08911EA4; case 509u: goto L_08911EAC; case 510u: goto L_08911EC0; case 511u: goto L_08911ED0; case 512u: goto L_08911ED8; case 513u: goto L_08911EEC; case 514u: goto L_08911EF4; case 515u: goto L_08911F00; case 516u: goto L_08911F08; case 517u: goto L_08911F18; case 518u: goto L_08911F20; case 519u: goto L_08911F2C; case 520u: goto L_08911F34; case 521u: goto L_08911F3C; case 522u: goto L_08911F48; case 523u: goto L_08911F50; case 524u: goto L_08911F58; case 525u: goto L_08911F60; case 526u: goto L_08911F68; case 527u: goto L_08911F78; case 528u: goto L_08911F80; case 529u: goto L_08911F98; case 530u: goto L_08911FEC; case 531u: goto L_08912018; case 532u: goto L_08912088; case 533u: goto L_089120A8; case 534u: goto L_089120B4; case 535u: goto L_089120C4; case 536u: goto L_089120D0; case 537u: goto L_089120D8; case 538u: goto L_089120EC; case 539u: goto L_089120F0; case 540u: goto L_0891210C; case 541u: goto L_08912128; case 542u: goto L_08912130; case 543u: goto L_08912138; case 544u: goto L_08912148; case 545u: goto L_08912154; case 546u: goto L_0891215C; case 547u: goto L_08912170; case 548u: goto L_08912174; case 549u: goto L_08912190; case 550u: goto L_089121AC; case 551u: goto L_089121B4; case 552u: goto L_089121C4; case 553u: goto L_089121D0; case 554u: goto L_089121D8; case 555u: goto L_089121EC; case 556u: goto L_089121F0; case 557u: goto L_0891220C; case 558u: goto L_08912228; case 559u: goto L_08912244; case 560u: goto L_08912250; case 561u: goto L_08912258; case 562u: goto L_0891227C; case 563u: goto L_089122D4; case 564u: goto L_08912300; case 565u: goto L_08912370; case 566u: goto L_0891238C; case 567u: goto L_08912398; case 568u: goto L_089123A8; case 569u: goto L_089123B0; case 570u: goto L_089123D0; case 571u: goto L_089123D4; case 572u: goto L_089123E0; case 573u: goto L_089123EC; case 574u: goto L_089123F4; case 575u: goto L_0891241C; case 576u: goto L_08912444; case 577u: goto L_08912454; case 578u: goto L_08912464; case 579u: goto L_08912478; case 580u: goto L_0891248C; case 581u: goto L_08912494; case 582u: goto L_089124A0; case 583u: goto L_089124A8; case 584u: goto L_089124B4; case 585u: goto L_089124BC; case 586u: goto L_089124CC; case 587u: goto L_089124E8; case 588u: goto L_08912504; case 589u: goto L_0891250C; case 590u: goto L_08912528; case 591u: goto L_0891252C; case 592u: goto L_08912560; case 593u: goto L_0891258C; case 594u: goto L_08912598; case 595u: goto L_089125A8; case 596u: goto L_089125B8; case 597u: goto L_089125C4; case 598u: goto L_089125CC; case 599u: goto L_089125D4; case 600u: goto L_089125E0; case 601u: goto L_089125E8; case 602u: goto L_0891260C; case 603u: goto L_08912618; case 604u: goto L_08912620; case 605u: goto L_08912628; case 606u: goto L_08912630; case 607u: goto L_08912638; case 608u: goto L_0891264C; case 609u: goto L_08912660; case 610u: goto L_0891266C; case 611u: goto L_0891268C; case 612u: goto L_0891269C; case 613u: goto L_089126A4; case 614u: goto L_089126B8; case 615u: goto L_089126DC; case 616u: goto L_089126F8; case 617u: goto L_08912718; case 618u: goto L_0891273C; case 619u: goto L_08912760; case 620u: goto L_0891276C; case 621u: goto L_08912780; case 622u: goto L_08912794; case 623u: goto L_089127A0; case 624u: goto L_089127C4; case 625u: goto L_089127CC; case 626u: goto L_089127E0; case 627u: goto L_08912804; case 628u: goto L_08912820; case 629u: goto L_0891283C; case 630u: goto L_08912850; case 631u: goto L_08912860; case 632u: goto L_08912870; case 633u: goto L_08912878; case 634u: goto L_08912880; case 635u: goto L_08912888; case 636u: goto L_08912894; case 637u: goto L_0891289C; case 638u: goto L_089128A0; case 639u: goto L_089128AC; case 640u: goto L_089128D4; case 641u: goto L_089128E0; case 642u: goto L_089128E8; case 643u: goto L_089128F0; case 644u: goto L_089128F8; case 645u: goto L_08912900; case 646u: goto L_0891291C; case 647u: goto L_08912920; case 648u: goto L_08912938; case 649u: goto L_08912960; case 650u: goto L_0891296C; case 651u: goto L_08912974; case 652u: goto L_0891297C; case 653u: goto L_08912984; case 654u: goto L_0891298C; case 655u: goto L_0891299C; case 656u: goto L_089129A8; case 657u: goto L_089129AC; case 658u: goto L_089129B4; case 659u: goto L_089129BC; case 660u: goto L_089129C4; case 661u: goto L_089129D4; case 662u: goto L_089129D8; case 663u: goto L_089129F0; case 664u: goto L_08912A18; case 665u: goto L_08912A24; case 666u: goto L_08912A2C; case 667u: goto L_08912A34; case 668u: goto L_08912A3C; case 669u: goto L_08912A44; case 670u: goto L_08912A54; case 671u: goto L_08912A58; case 672u: goto L_08912A70; case 673u: goto L_08912A9C; case 674u: goto L_08912AD4; case 675u: goto L_08912ADC; case 676u: goto L_08912AE4; case 677u: goto L_08912AEC; case 678u: goto L_08912AF4; case 679u: goto L_08912B00; case 680u: goto L_08912B08; case 681u: goto L_08912B5C; case 682u: goto L_08912B6C; case 683u: goto L_08912B8C; case 684u: goto L_08912B9C; case 685u: goto L_08912BB0; case 686u: goto L_08912BC4; case 687u: goto L_08912BCC; case 688u: goto L_08912BE0; case 689u: goto L_08912C08; case 690u: goto L_08912C14; case 691u: goto L_08912C1C; case 692u: goto L_08912C24; case 693u: goto L_08912C2C; case 694u: goto L_08912C3C; case 695u: goto L_08912C44; case 696u: goto L_08912C78; case 697u: goto L_08912C84; case 698u: goto L_08912C94; case 699u: goto L_08912CB0; case 700u: goto L_08912CC8; case 701u: goto L_08912CD8; case 702u: goto L_08912CEC; case 703u: goto L_08912D1C; case 704u: goto L_08912D34; case 705u: goto L_08912D4C; case 706u: goto L_08912D64; case 707u: goto L_08912D84; case 708u: goto L_08912D98; case 709u: goto L_08912DA0; case 710u: goto L_08912DA8; case 711u: goto L_08912DB0; case 712u: goto L_08912DC4; case 713u: goto L_08912E00; case 714u: goto L_08912E10; case 715u: goto L_08912E18; case 716u: goto L_08912E2C; case 717u: goto L_08912E34; case 718u: goto L_08912E40; case 719u: goto L_08912E54; case 720u: goto L_08912E78; case 721u: goto L_08912E9C; case 722u: goto L_08912EA8; case 723u: goto L_08912EB0; case 724u: goto L_08912EC4; case 725u: goto L_08912EE0; case 726u: goto L_08912EE8; case 727u: goto L_08912EEC; case 728u: goto L_08912EF4; case 729u: goto L_08912EFC; case 730u: goto L_08912F04; case 731u: goto L_08912F14; case 732u: goto L_08912F1C; case 733u: goto L_08912F38; case 734u: goto L_08912F68; case 735u: goto L_08912F6C; case 736u: goto L_08912F74; case 737u: goto L_08912F84; case 738u: goto L_08912F90; case 739u: goto L_08912F94; case 740u: goto L_08912F98; case 741u: goto L_08912FB0; case 742u: goto L_08912FE0; case 743u: goto L_08912FEC; case 744u: goto L_08913004; case 745u: goto L_08913024; case 746u: goto L_0891303C; case 747u: goto L_08913050; case 748u: goto L_08913060; case 749u: goto L_08913064; case 750u: goto L_0891306C; case 751u: goto L_08913074; case 752u: goto L_0891307C; case 753u: goto L_08913084; case 754u: goto L_0891308C; case 755u: goto L_08913098; case 756u: goto L_089130B0; case 757u: goto L_089130D0; case 758u: goto L_089130E8; case 759u: goto L_089130F4; case 760u: goto L_08913104; case 761u: goto L_08913110; case 762u: goto L_08913120; case 763u: goto L_08913130; case 764u: goto L_08913138; case 765u: goto L_08913140; case 766u: goto L_0891314C; case 767u: goto L_08913164; case 768u: goto L_0891317C; case 769u: goto L_08913198; case 770u: goto L_089131B0; case 771u: goto L_089131B8; case 772u: goto L_089131D0; case 773u: goto L_089131E8; case 774u: goto L_08913204; case 775u: goto L_08913220; case 776u: goto L_0891323C; case 777u: goto L_08913244; case 778u: goto L_08913260; case 779u: goto L_08913274; case 780u: goto L_089132A0; case 781u: goto L_089132B0; case 782u: goto L_089132B8; case 783u: goto L_089132C0; case 784u: goto L_089132CC; case 785u: goto L_089132DC; case 786u: goto L_089132E8; case 787u: goto L_089132F8; case 788u: goto L_08913300; case 789u: goto L_08913308; case 790u: goto L_08913318; case 791u: goto L_0891336C; case 792u: goto L_08913374; case 793u: goto L_08913384; case 794u: goto L_0891338C; case 795u: goto L_08913394; case 796u: goto L_0891339C; case 797u: goto L_089133A4; case 798u: goto L_089133AC; case 799u: goto L_089133D0; case 800u: goto L_0891341C; case 801u: goto L_0891342C; case 802u: goto L_08913438; case 803u: goto L_08913440; case 804u: goto L_08913450; case 805u: goto L_0891345C; case 806u: goto L_08913478; case 807u: goto L_08913498; case 808u: goto L_089134A4; case 809u: goto L_089134AC; case 810u: goto L_089134B4; case 811u: goto L_089134BC; case 812u: goto L_089134C0; case 813u: goto L_089134C8; case 814u: goto L_089134D4; case 815u: goto L_089134EC; case 816u: goto L_089134FC; case 817u: goto L_08913508; case 818u: goto L_0891351C; case 819u: goto L_08913524; case 820u: goto L_08913560; case 821u: goto L_0891356C; case 822u: goto L_08913578; case 823u: goto L_08913584; case 824u: goto L_08913590; case 825u: goto L_08913594; case 826u: goto L_0891359C; case 827u: goto L_089135B4; case 828u: goto L_089135BC; case 829u: goto L_089135C8; case 830u: goto L_089135D8; case 831u: goto L_089135F0; case 832u: goto L_089135F8; case 833u: goto L_08913610; case 834u: goto L_08913628; case 835u: goto L_08913630; case 836u: goto L_08913648; case 837u: goto L_0891364C; case 838u: goto L_08913670; case 839u: goto L_089136FC; case 840u: goto L_08913734; case 841u: goto L_0891373C; case 842u: goto L_08913754; case 843u: goto L_08913798; case 844u: goto L_089137D4; case 845u: goto L_089137F8; case 846u: goto L_0891385C; case 847u: goto L_08913938; case 848u: goto L_0891397C; case 849u: goto L_08913990; case 850u: goto L_089139C8; case 851u: goto L_089139D4; case 852u: goto L_08913A0C; case 853u: goto L_08913A48; case 854u: goto L_08913A54; case 855u: goto L_08913A60; case 856u: goto L_08913A6C; case 857u: goto L_08913AA0; case 858u: goto L_08913AB4; 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_08910000: ctx.gpr[9] = (ctx.gpr[18] | 0u); goto L_08910004; L_08910004: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910020: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08910064; } goto L_08910034; } L_08910034: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(900)))))); aot_gpr_5 = (aot_gpr_5 & 30u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0891005C; } goto L_0891004C; } L_0891004C: aot_gpr_31 = (0x08910054u); aot_gpr_4 = (aot_gpr_4 + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 614u, 0x08A9FD14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910054u) goto L_08910054; AOT_REGCACHE_SYNC_OUT(); return; L_08910054: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910068; } goto L_0891005C; } L_0891005C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08910068; } goto L_08910064; } L_08910064: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1104))); goto L_08910068; L_08910068: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910074: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089100A8; } goto L_08910090; } L_08910090: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(864)); aot_gpr_31 = (0x089100A0u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 621u, 0x08A9FD80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089100A0u) goto L_089100A0; AOT_REGCACHE_SYNC_OUT(); return; L_089100A0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089100B4; } goto L_089100A8; } L_089100A8: aot_gpr_5 = (aot_gpr_5 + static_cast(1088)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089100B4; L_089100B4: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089100C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910124; } goto L_089100DC; } L_089100DC: aot_gpr_4 = (aot_gpr_4 + static_cast(864)); aot_gpr_31 = (0x089100E8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 621u, 0x08A9FD80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089100E8u) goto L_089100E8; AOT_REGCACHE_SYNC_OUT(); return; L_089100E8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_13)); 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_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); if (branch_taken) { goto L_08910140; } goto L_08910124; } L_08910124: aot_gpr_4 = (aot_gpr_4 + static_cast(1108)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); goto L_08910140; L_08910140: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910150: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08910194; } goto L_08910164; } L_08910164: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(900)))))); aot_gpr_5 = (aot_gpr_5 & 30u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0891018C; } goto L_0891017C; } L_0891017C: aot_gpr_31 = (0x08910184u); aot_gpr_4 = (aot_gpr_4 + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 614u, 0x08A9FD14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910184u) goto L_08910184; AOT_REGCACHE_SYNC_OUT(); return; L_08910184: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910198; } goto L_0891018C; } L_0891018C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08910198; } goto L_08910194; } L_08910194: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1116))); goto L_08910198; L_08910198: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089101A4: jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1128))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089101AC: aot_gpr_5 = (aot_gpr_5 + static_cast(1120)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089101CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08910200; } goto L_089101E8; } L_089101E8: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(864)); aot_gpr_31 = (0x089101F8u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 565u, 0x08A9F948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089101F8u) goto L_089101F8; AOT_REGCACHE_SYNC_OUT(); return; L_089101F8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0891020C; } goto L_08910200; } L_08910200: aot_gpr_5 = (aot_gpr_5 + static_cast(1040)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0891020C; L_0891020C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910218: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); { const std::uint32_t vfpu_address = aot_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); } aot_gpr_4 = (ctx.gpr[17] + static_cast(1088)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08910244u); 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, 778u, 0x0890F644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910244u) goto L_08910244; AOT_REGCACHE_SYNC_OUT(); return; L_08910244: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089102C0; } goto L_08910250; } L_08910250: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0891027C; } goto L_08910268; } L_08910268: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_089102B8; } goto L_0891027C; } L_0891027C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(900)))))); aot_gpr_4 = (aot_gpr_4 & 30u); 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_089102C0; } goto L_08910294; } L_08910294: aot_gpr_16 = (ctx.gpr[17] + static_cast(864)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089102A4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 565u, 0x08A9F948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089102A4u) goto L_089102A4; AOT_REGCACHE_SYNC_OUT(); return; L_089102A4: aot_gpr_5 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089102B0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 621u, 0x08A9FD80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089102B0u) goto L_089102B0; AOT_REGCACHE_SYNC_OUT(); return; L_089102B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089102C0; } goto L_089102B8; } L_089102B8: aot_gpr_31 = (0x089102C0u); aot_gpr_4 = (ctx.gpr[17] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089102C0u) goto L_089102C0; AOT_REGCACHE_SYNC_OUT(); return; L_089102C0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089102D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1108), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1112), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_0891032C; } goto L_089102F8; } L_089102F8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0891032C; } goto L_08910310; } L_08910310: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0891032C; } goto L_08910324; } L_08910324: aot_gpr_31 = (0x0891032Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891032Cu) goto L_0891032C; AOT_REGCACHE_SYNC_OUT(); return; L_0891032C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910338: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1120), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1124), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0891034C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1104))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910374; } goto L_0891036C; } L_0891036C: aot_gpr_31 = (0x08910374u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1104)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910374u) goto L_08910374; AOT_REGCACHE_SYNC_OUT(); return; L_08910374: { const bool branch_taken = aot_gpr_16 == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1104), aot_gpr_16); if (branch_taken) { goto L_0891039C; } goto L_0891037C; } L_0891037C: aot_gpr_5 = (aot_gpr_16 + static_cast(48)); aot_gpr_31 = (0x08910388u); 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, 778u, 0x0890F644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910388u) goto L_08910388; AOT_REGCACHE_SYNC_OUT(); return; L_08910388: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1104))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0891039C; } goto L_08910394; } L_08910394: aot_gpr_31 = (0x0891039Cu); aot_gpr_5 = (ctx.gpr[17] + static_cast(1104)); 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 == 0x0891039Cu) goto L_0891039C; AOT_REGCACHE_SYNC_OUT(); return; L_0891039C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089103B8; } goto L_089103A8; } L_089103A8: { const bool branch_taken = aot_gpr_16 != 0u; if (branch_taken) { goto L_089103B8; } goto L_089103B0; } L_089103B0: aot_gpr_31 = (0x089103B8u); aot_gpr_4 = (ctx.gpr[17] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089103B8u) goto L_089103B8; AOT_REGCACHE_SYNC_OUT(); return; L_089103B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089103CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1116))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089103F4; } goto L_089103EC; } L_089103EC: aot_gpr_31 = (0x089103F4u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1116)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089103F4u) goto L_089103F4; AOT_REGCACHE_SYNC_OUT(); return; L_089103F4: aot_gpr_4 = (aot_gpr_16 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1116), aot_gpr_16); if (branch_taken) { goto L_08910410; } goto L_08910400; } L_08910400: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910410; } goto L_08910408; } L_08910408: aot_gpr_31 = (0x08910410u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1116)); 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 == 0x08910410u) goto L_08910410; AOT_REGCACHE_SYNC_OUT(); return; L_08910410: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0891042C; } goto L_0891041C; } L_0891041C: { const bool branch_taken = aot_gpr_16 != 0u; if (branch_taken) { goto L_0891042C; } goto L_08910424; } L_08910424: aot_gpr_31 = (0x0891042Cu); aot_gpr_4 = (ctx.gpr[17] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891042Cu) goto L_0891042C; AOT_REGCACHE_SYNC_OUT(); return; L_0891042C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910440: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1128))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910468; } goto L_08910460; } L_08910460: aot_gpr_31 = (0x08910468u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1128)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910468u) goto L_08910468; AOT_REGCACHE_SYNC_OUT(); return; L_08910468: aot_gpr_4 = (aot_gpr_16 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1128), aot_gpr_16); if (branch_taken) { goto L_08910484; } goto L_08910474; } L_08910474: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910484; } goto L_0891047C; } L_0891047C: aot_gpr_31 = (0x08910484u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1128)); 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 == 0x08910484u) goto L_08910484; AOT_REGCACHE_SYNC_OUT(); return; L_08910484: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910498: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(940))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089104C0; } goto L_089104B8; } L_089104B8: aot_gpr_31 = (0x089104C0u); aot_gpr_5 = (ctx.gpr[17] + static_cast(940)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089104C0u) goto L_089104C0; AOT_REGCACHE_SYNC_OUT(); return; L_089104C0: { const bool branch_taken = aot_gpr_16 == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(940), aot_gpr_16); if (branch_taken) { goto L_089104DC; } goto L_089104C8; } L_089104C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(940))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089104DC; } goto L_089104D4; } L_089104D4: aot_gpr_31 = (0x089104DCu); aot_gpr_5 = (ctx.gpr[17] + static_cast(940)); 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 == 0x089104DCu) goto L_089104DC; AOT_REGCACHE_SYNC_OUT(); return; L_089104DC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089104F0: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08910504; } goto L_089104FC; } L_089104FC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08910508; } goto L_08910504; } L_08910504: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(940))); goto L_08910508; L_08910508: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910510: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08910530; } goto L_0891051C; } L_0891051C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1104))); 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_4 = (aot_gpr_4 + static_cast(1088)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08910530; L_08910530: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910538: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0891059C; } goto L_08910554; } L_08910554: aot_gpr_4 = (aot_gpr_4 + static_cast(864)); aot_gpr_31 = (0x08910560u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 565u, 0x08A9F948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910560u) goto L_08910560; AOT_REGCACHE_SYNC_OUT(); return; L_08910560: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_13)); 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_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); if (branch_taken) { goto L_089105D8; } goto L_0891059C; } L_0891059C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(906)))))); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_31 = (0x089105B4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(908))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 398u, 0x08905E50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089105B4u) goto L_089105B4; AOT_REGCACHE_SYNC_OUT(); return; L_089105B4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); if (branch_taken) { goto L_089105D8; } goto L_089105D8; } L_089105D8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); 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_089105E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0891061C; } goto L_08910604; } L_08910604: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(864)); aot_gpr_31 = (0x08910614u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 565u, 0x08A9F948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910614u) goto L_08910614; AOT_REGCACHE_SYNC_OUT(); return; L_08910614: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910634; } goto L_0891061C; } L_0891061C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(76))); ctx.gpr[7] = (16320u << 16u); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1032))); aot_gpr_31 = (0x08910634u); aot_gpr_6 = (aot_gpr_6 >> 22u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 98u, 0x08978C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910634u) goto L_08910634; AOT_REGCACHE_SYNC_OUT(); return; L_08910634: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910640: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08910654; } goto L_0891064C; } L_0891064C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0891065C; } goto L_08910654; } L_08910654: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1032))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1028), aot_gpr_5); goto L_0891065C; L_0891065C: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910664: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910678; } goto L_08910670; } L_08910670: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910678; } goto L_08910678; } L_08910678: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910680: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910694; } goto L_0891068C; } L_0891068C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910694; } goto L_08910694; } L_08910694: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0891069C: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_089106BC; } goto L_089106A8; } L_089106A8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1032))); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_089106D8; } goto L_089106B4; } L_089106B4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089106C4; } goto L_089106BC; } L_089106BC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_089106E4; } goto L_089106C4; } L_089106C4: { const bool branch_taken = aot_gpr_6 == aot_gpr_5; if (branch_taken) { goto L_089106D8; } goto L_089106CC; } L_089106CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1028))); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; if (branch_taken) { goto L_089106E0; } goto L_089106D8; } L_089106D8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_089106E4; } goto L_089106E0; } L_089106E0: ctx.gpr[2] = (0u | 0u); goto L_089106E4; L_089106E4: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089106EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_6 = (aot_gpr_5 & 255u); aot_gpr_5 = (ctx.gpr[7] & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08910720; } goto L_08910718; } L_08910718: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_08910764; } goto L_08910720; } L_08910720: ctx.gpr[9] = (aot_gpr_6 | 0u); ctx.gpr[11] = (aot_gpr_5 | 0u); ctx.gpr[10] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[7] = (aot_gpr_16 + static_cast(1028)); ctx.gpr[8] = (aot_gpr_16 + static_cast(1032)); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08910750u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 219u, 0x089798CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910750u) goto L_08910750; AOT_REGCACHE_SYNC_OUT(); return; L_08910750: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1032))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08910764; } goto L_0891075C; } L_0891075C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08910768; } goto L_08910764; } L_08910764: ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_08910768; L_08910768: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0891077C: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089107B8; } goto L_08910788; } L_08910788: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (16384u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(888), static_cast(aot_gpr_5)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(889), static_cast(aot_gpr_5)); if (branch_taken) { goto L_089107BC; } goto L_089107B8; } L_089107B8: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1072), std::bit_cast(aot_fpr_12)); goto L_089107BC; L_089107BC: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089107C4: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089107E0; } goto L_089107D0; } L_089107D0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(888))); ctx.fpr[0] = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.fpr[0] = static_cast(static_cast(std::bit_cast(ctx.fpr[0]))); if (branch_taken) { goto L_089107E4; } goto L_089107E0; } L_089107E0: ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1072))); goto L_089107E4; L_089107E4: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089107EC: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0891080C; } goto L_089107F8; } L_089107F8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(904)))))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08910840; } goto L_08910804; } L_08910804: { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0891081C; } goto L_0891080C; } L_0891080C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(902)))))); ctx.gpr[2] = (aot_gpr_4 & 32u); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); if (branch_taken) { goto L_08910848; } goto L_0891081C; } L_0891081C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(906)))))); ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(908)); if (branch_taken) { goto L_08910840; } goto L_0891082C; } L_0891082C: 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))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08910844; } goto L_08910840; } L_08910840: aot_gpr_6 = (0u | 1u); goto L_08910844; L_08910844: ctx.gpr[2] = (aot_gpr_6 & 255u); goto L_08910848; L_08910848: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910850: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_08910868; } goto L_0891085C; } L_0891085C: { 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_4 + static_cast(1040)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08910868; L_08910868: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910870: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08910888; } goto L_0891087C; } L_0891087C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(902)))))); aot_gpr_5 = (aot_gpr_5 | 64u); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(902), static_cast(aot_gpr_5)); goto L_08910888; L_08910888: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910890: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089108D4; } goto L_089108B0; } L_089108B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089108BCu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_089105E8; L_089108BC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089108D4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); goto L_08910218; L_089108D4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089108E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08910934; } goto L_08910900; } L_08910900: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x0891090Cu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08910538; L_0891090C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08910934u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08910218; L_08910934: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910944: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910988; } goto L_0891096C; } L_0891096C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(864)); aot_gpr_31 = (0x08910978u); 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, 586u, 0x08A9FB14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910978u) goto L_08910978; AOT_REGCACHE_SYNC_OUT(); return; L_08910978: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08910990; } goto L_08910980; } L_08910980: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089109FC; } goto L_08910988; } L_08910988: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089109FC; } goto L_08910990; } L_08910990: aot_gpr_31 = (0x08910998u); 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, 598u, 0x08A9FC1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910998u) goto L_08910998; AOT_REGCACHE_SYNC_OUT(); return; L_08910998: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); 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_089109C8; } goto L_089109AC; } L_089109AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089109FC; } goto L_089109BC; } L_089109BC: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089109FC; } goto L_089109C8; } L_089109C8: aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } 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_089109FC; } goto L_089109E4; } L_089109E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089109FC; } goto L_089109F4; } L_089109F4: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); goto L_089109FC; L_089109FC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910A14: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08910A1C; } goto L_08910A1C; } L_08910A1C: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910A24: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910AC0; } goto L_08910A44; } L_08910A44: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910A90; } goto L_08910A4C; } L_08910A4C: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_08910A90; } goto L_08910A54; } L_08910A54: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; if (branch_taken) { goto L_08910A70; } goto L_08910A60; } L_08910A60: aot_gpr_31 = (0x08910A68u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 78u, 0x08B00578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910A68u) goto L_08910A68; AOT_REGCACHE_SYNC_OUT(); return; L_08910A68: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08910A7C; } goto L_08910A70; } L_08910A70: aot_gpr_31 = (0x08910A78u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910A78u) goto L_08910A78; AOT_REGCACHE_SYNC_OUT(); return; L_08910A78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08910A7C; L_08910A7C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910A8C; } goto L_08910A84; } L_08910A84: aot_gpr_31 = (0x08910A8Cu); aot_gpr_5 = (ctx.gpr[17] + static_cast(1152)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910A8Cu) goto L_08910A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08910A8C: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), 0u); goto L_08910A90; L_08910A90: 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_08910AA4; } goto L_08910A9C; } L_08910A9C: aot_gpr_31 = (0x08910AA4u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1152)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AA4u) goto L_08910AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08910AA4: { const bool branch_taken = aot_gpr_16 == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), aot_gpr_16); if (branch_taken) { goto L_08910AC0; } goto L_08910AAC; } L_08910AAC: 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_08910AC0; } goto L_08910AB8; } L_08910AB8: aot_gpr_31 = (0x08910AC0u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1152)); 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 == 0x08910AC0u) goto L_08910AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08910AC0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910AD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910AFC; } goto L_08910AF4; } L_08910AF4: aot_gpr_31 = (0x08910AFCu); aot_gpr_5 = (ctx.gpr[17] + static_cast(1156)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AFCu) goto L_08910AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08910AFC: { const bool branch_taken = aot_gpr_16 == 0u; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1156), aot_gpr_16); if (branch_taken) { goto L_08910B18; } goto L_08910B04; } L_08910B04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910B18; } goto L_08910B10; } L_08910B10: aot_gpr_31 = (0x08910B18u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1156)); 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 == 0x08910B18u) goto L_08910B18; AOT_REGCACHE_SYNC_OUT(); return; L_08910B18: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910B2C: ctx.gpr[2] = (aot_gpr_4 ^ 10u); jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910B38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08910B84; } goto L_08910B4C; } L_08910B4C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); ctx.gpr[7] = (static_cast(aot_gpr_6) < 16 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; ctx.gpr[7] = (static_cast(aot_gpr_6) < 70 ? 1u : 0u); if (branch_taken) { goto L_08910B7C; } goto L_08910B5C; } L_08910B5C: { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(-16)); if (branch_taken) { goto L_08910B7C; } goto L_08910B64; } L_08910B64: aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-12904))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910B7C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08910BD0; } goto L_08910B84; } L_08910B84: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08910BD0; } goto L_08910B8C; } L_08910B8C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08910B9Cu); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 169u, 0x08B00A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910B9Cu) goto L_08910B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08910B9C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910BD0; } goto L_08910BA4; } L_08910BA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_6 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08910BC4; } goto L_08910BB4; } L_08910BB4: aot_gpr_6 = (0u | 38u); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; if (branch_taken) { goto L_08910BC4; } goto L_08910BC0; } L_08910BC0: aot_gpr_5 = (0u | 1u); goto L_08910BC4; L_08910BC4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08910BD0; } goto L_08910BCC; } L_08910BCC: ctx.gpr[2] = (0u | 1u); goto L_08910BD0; L_08910BD0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910BDC: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910BE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); aot_gpr_31 = (0x08910C00u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C00u) goto L_08910C00; AOT_REGCACHE_SYNC_OUT(); return; L_08910C00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(704))); ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08910C14u); 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_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C14u) goto L_08910C14; AOT_REGCACHE_SYNC_OUT(); return; L_08910C14: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08910C20u); ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C20u) goto L_08910C20; AOT_REGCACHE_SYNC_OUT(); return; L_08910C20: ctx.gpr[17] = (ctx.gpr[17] << 6u); ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), 0u); if (branch_taken) { goto L_08910C48; } goto L_08910C30; } L_08910C30: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); goto L_08910C4C; } goto L_08910C40; L_08910C40: aot_gpr_31 = (0x08910C48u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); 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 == 0x08910C48u) goto L_08910C48; AOT_REGCACHE_SYNC_OUT(); return; L_08910C48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); goto L_08910C4C; L_08910C4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08910C64u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C64u) goto L_08910C64; AOT_REGCACHE_SYNC_OUT(); return; L_08910C64: 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); } 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_gpr_4 = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910CB8; } goto L_08910CA4; } L_08910CA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08910CB8; } goto L_08910CB0; } L_08910CB0: aot_gpr_31 = (0x08910CB8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); 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 == 0x08910CB8u) goto L_08910CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08910CB8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910CCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910DA4; } goto L_08910CEC; } L_08910CEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; if (branch_taken) { goto L_08910D18; } goto L_08910CF8; } L_08910CF8: aot_gpr_31 = (0x08910D00u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 78u, 0x08B00578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D00u) goto L_08910D00; AOT_REGCACHE_SYNC_OUT(); return; L_08910D00: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08910D10u); aot_gpr_6 = (0u | 10u); 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 == 0x08910D10u) goto L_08910D10; AOT_REGCACHE_SYNC_OUT(); return; L_08910D10: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910D8C; } goto L_08910D18; } L_08910D18: aot_gpr_31 = (0x08910D20u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D20u) goto L_08910D20; AOT_REGCACHE_SYNC_OUT(); return; L_08910D20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_31 = (0x08910D2Cu); 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 == 0x08910D2Cu) goto L_08910D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08910D2C: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08910D48; } goto L_08910D34; } L_08910D34: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08910D44u); aot_gpr_6 = (0u | 8u); 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 == 0x08910D44u) goto L_08910D44; AOT_REGCACHE_SYNC_OUT(); return; L_08910D44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08910D48; L_08910D48: aot_gpr_31 = (0x08910D50u); 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 == 0x08910D50u) goto L_08910D50; AOT_REGCACHE_SYNC_OUT(); return; L_08910D50: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08910D6C; } goto L_08910D58; } L_08910D58: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08910D68u); aot_gpr_6 = (0u | 11u); 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 == 0x08910D68u) goto L_08910D68; AOT_REGCACHE_SYNC_OUT(); return; L_08910D68: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08910D6C; L_08910D6C: aot_gpr_31 = (0x08910D74u); 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 == 0x08910D74u) goto L_08910D74; AOT_REGCACHE_SYNC_OUT(); return; L_08910D74: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; if (branch_taken) { goto L_08910D8C; } goto L_08910D7C; } L_08910D7C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x08910D8Cu); aot_gpr_6 = (0u | 9u); 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 == 0x08910D8Cu) goto L_08910D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08910D8C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08910D98u); aot_gpr_5 = (aot_gpr_16 | 0u); 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 == 0x08910D98u) goto L_08910D98; AOT_REGCACHE_SYNC_OUT(); return; L_08910D98: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08910DA4u); aot_gpr_5 = (0u | 0u); goto L_08910A24; L_08910DA4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910DB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1929)))))); aot_gpr_6 = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[2] = (0u | 32u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == ctx.gpr[2]; if (branch_taken) { goto L_08910EE4; } goto L_08910DEC; } L_08910DEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 19u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910DFC; } L_08910DFC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 20u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E0C; } L_08910E0C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 24u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E1C; } L_08910E1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 25u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E2C; } L_08910E2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 26u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E3C; } L_08910E3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 27u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E4C; } L_08910E4C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 3u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E5C; } L_08910E5C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 10u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E6C; } L_08910E6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 6u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E7C; } L_08910E7C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 9u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910EDC; } goto L_08910E8C; } L_08910E8C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 11u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910ED4; } goto L_08910E9C; } L_08910E9C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_16 = (0u | 33u); { const bool branch_taken = aot_gpr_5 == aot_gpr_16; if (branch_taken) { goto L_08910ED4; } goto L_08910EAC; } L_08910EAC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 35u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08910ED4; } goto L_08910EBC; } L_08910EBC: aot_gpr_31 = (0x08910EC4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 161u, 0x08A40D58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910EC4u) goto L_08910EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08910EC4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08910EEC; } goto L_08910ECC; } L_08910ECC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08910EF0; } goto L_08910ED4; } L_08910ED4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 36u); if (branch_taken) { goto L_08910EF0; } goto L_08910EDC; } L_08910EDC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910EF0; } goto L_08910EE4; } L_08910EE4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 31u); if (branch_taken) { goto L_08910EF0; } goto L_08910EEC; } L_08910EEC: ctx.gpr[2] = (0u | 30u); goto L_08910EF0; L_08910EF0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08910F00: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08910F3C; } goto L_08910F2C; } L_08910F2C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08910F3C; L_08910F3C: aot_gpr_31 = (0x08910F44u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910F44u) goto L_08910F44; AOT_REGCACHE_SYNC_OUT(); return; L_08910F44: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08910F8C; } goto L_08910F4C; } L_08910F4C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08910F8C; } goto L_08910F58; } L_08910F58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(900))); { const bool branch_taken = aot_gpr_4 != aot_gpr_16; if (branch_taken) { goto L_08910F8C; } goto L_08910F64; } L_08910F64: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_6 = (0u | 103u); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_6 = (0u | 104u); if (branch_taken) { goto L_08910F7C; } goto L_08910F74; } L_08910F74: { const bool branch_taken = aot_gpr_4 != aot_gpr_6; if (branch_taken) { goto L_08910F94; } goto L_08910F7C; } L_08910F7C: aot_gpr_31 = (0x08910F84u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 575u, 0x08A06474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910F84u) goto L_08910F84; AOT_REGCACHE_SYNC_OUT(); return; L_08910F84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(695), static_cast(ctx.gpr[2])); goto L_08910F8C; L_08910F8C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911074; } goto L_08910F94; } L_08910F94: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68)))))); ctx.gpr[18] = (0u | 9u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; if (branch_taken) { goto L_08910FB0; } goto L_08910FA4; } L_08910FA4: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(695))); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; if (branch_taken) { goto L_08910FC4; } goto L_08910FB0; } L_08910FB0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69)))))); if (aot_gpr_4 != ctx.gpr[18]) { aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(695))); goto L_08910FCC; } goto L_08910FBC; L_08910FBC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08910FD4; } goto L_08910FC4; } L_08910FC4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911074; } goto L_08910FCC; } L_08910FCC: { const bool branch_taken = aot_gpr_5 == aot_gpr_4; if (branch_taken) { goto L_08911014; } goto L_08910FD4; } L_08910FD4: aot_gpr_31 = (0x08910FDCu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910FDCu) goto L_08910FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08910FDC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20300))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20304))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08910FF0u); aot_gpr_5 = (0u | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910FF0u) goto L_08910FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08910FF0: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); if (branch_taken) { goto L_0891101C; } goto L_0891100C; } L_0891100C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 1u); if (branch_taken) { goto L_08911020; } goto L_08911014; } L_08911014: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911074; } goto L_0891101C; } L_0891101C: aot_gpr_5 = (0u | 0u); goto L_08911020; L_08911020: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0891103C; } goto L_08911028; } L_08911028: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(695), static_cast(aot_gpr_5)); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); if (branch_taken) { goto L_0891104C; } goto L_0891103C; } L_0891103C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(695), static_cast(aot_gpr_5)); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); goto L_0891104C; L_0891104C: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; if (branch_taken) { goto L_08911074; } goto L_08911054; } L_08911054: aot_gpr_31 = (0x0891105Cu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891105Cu) goto L_0891105C; AOT_REGCACHE_SYNC_OUT(); return; L_0891105C: aot_gpr_4 = (ctx.gpr[2] & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_5 = (ctx.hi); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(695), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08910F8C; } goto L_08911074; } L_08911074: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0891108C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1952))); ctx.gpr[8] = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; aot_gpr_5 = (aot_gpr_5 & 65535u); if (branch_taken) { goto L_089110A4; } goto L_0891109C; } L_0891109C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089110B4; } goto L_089110A4; } L_089110A4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1952), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1956), aot_gpr_5); goto L_089110B4; L_089110B4: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089110BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2060), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0891111C; } goto L_089110E0; } L_089110E0: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089110ECu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 865u, 0x08AE31F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089110ECu) goto L_089110EC; AOT_REGCACHE_SYNC_OUT(); return; L_089110EC: aot_gpr_31 = (0x089110F4u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 893u, 0x08AE34B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089110F4u) goto L_089110F4; AOT_REGCACHE_SYNC_OUT(); return; L_089110F4: aot_fpr_12 = aot_fpr_20 / ctx.fpr[0]; aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 2u); aot_fpr_13 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0891111Cu); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(891), static_cast(aot_gpr_6)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 875u, 0x08AE3358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891111Cu) goto L_0891111C; AOT_REGCACHE_SYNC_OUT(); return; L_0891111C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911130: jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2248))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911138: jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2248), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911140: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08911160u); aot_gpr_16 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911160u) goto L_08911160; AOT_REGCACHE_SYNC_OUT(); return; L_08911160: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[17] = (4u << 16u); if (branch_taken) { goto L_089111FC; } goto L_0891116C; } L_0891116C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08911184; } goto L_08911178; L_08911178: aot_gpr_31 = (0x08911180u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911180u) goto L_08911180; AOT_REGCACHE_SYNC_OUT(); return; L_08911180: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08911184; L_08911184: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(50)))))); aot_gpr_31 = (0x08911190u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 633u, 0x0893E8D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911190u) goto L_08911190; AOT_REGCACHE_SYNC_OUT(); return; L_08911190: { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_5 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_089111F0; } goto L_08911198; } L_08911198: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_6 = (aot_gpr_4 & 16u); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); if (branch_taken) { goto L_089111D8; } goto L_089111B0; } L_089111B0: 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_089111F0; } goto L_089111C0; } L_089111C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + 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_089111F0; } goto L_089111D8; } L_089111D8: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_089111E8; } goto L_089111E0; } L_089111E0: { const bool branch_taken = aot_gpr_16 == ctx.gpr[18]; if (branch_taken) { goto L_089111F0; } goto L_089111E8; } L_089111E8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089111FC; } goto L_089111F0; } L_089111F0: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = ctx.gpr[18] != 0u; if (branch_taken) { goto L_0891116C; } goto L_089111FC; } L_089111FC: ctx.gpr[2] = (0u < ctx.gpr[18] ? 1u : 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911218: jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2116))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911220: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08911238u); aot_gpr_16 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911238u) goto L_08911238; AOT_REGCACHE_SYNC_OUT(); return; L_08911238: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911270; } goto L_08911244; } L_08911244: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 & 16384u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08911264; } goto L_0891125C; } L_0891125C: { const bool branch_taken = 0u == 0u; aot_gpr_16 = (0u | 1u); if (branch_taken) { goto L_08911270; } goto L_08911264; } L_08911264: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08911244; } goto L_08911270; } L_08911270: ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911284: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_gpr_6 = (0u | 17u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_16 = (0u | 0u); if (branch_taken) { goto L_089112F8; } goto L_089112A0; } L_089112A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(216)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089112B8u); aot_gpr_4 = (aot_gpr_4 + 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 == 0x089112B8u) goto L_089112B8; AOT_REGCACHE_SYNC_OUT(); return; L_089112B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); 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 = (0x089112D0u); aot_gpr_4 = (ctx.gpr[2] + 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 == 0x089112D0u) goto L_089112D0; AOT_REGCACHE_SYNC_OUT(); return; L_089112D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 4u); 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_089112FC; } goto L_089112F8; } L_089112F8: aot_gpr_16 = (0u | 1u); goto L_089112FC; L_089112FC: ctx.gpr[2] = (aot_gpr_16 & 255u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911310: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1780)))))); ctx.gpr[2] = (aot_gpr_4 & 2u); jump_target = aot_gpr_31; ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911320: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; if (branch_taken) { goto L_08911348; } goto L_0891132C; } L_0891132C: aot_gpr_6 = (0u | 2u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; if (branch_taken) { goto L_08911350; } goto L_08911338; } L_08911338: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8880))); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8880), aot_gpr_6); if (branch_taken) { goto L_08911364; } goto L_08911348; } L_08911348: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911368; } goto L_08911350; } L_08911350: { const bool branch_taken = ctx.gpr[7] != aot_gpr_6; if (branch_taken) { goto L_08911364; } goto L_08911358; } L_08911358: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8880))); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8880), aot_gpr_6); goto L_08911364; L_08911364: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2276), aot_gpr_5); goto L_08911368; L_08911368: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911370: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2144))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0891139C; } goto L_08911390; } L_08911390: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); aot_gpr_31 = (0x0891139Cu); aot_gpr_5 = (ctx.gpr[17] + static_cast(2144)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], 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, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891139Cu) goto L_0891139C; AOT_REGCACHE_SYNC_OUT(); return; L_0891139C: { const std::uint32_t vfpu_address = aot_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); } aot_gpr_4 = (ctx.gpr[17] + static_cast(2128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2144), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2148), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2152), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2156), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2160), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2164), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2172), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2176), 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(2180)))))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52)))))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2180), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2180)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52)))))); aot_gpr_5 = (aot_gpr_5 & 2u); aot_gpr_5 = (aot_gpr_5 >> 1u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2180), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2180)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52)))))); aot_gpr_5 = (aot_gpr_5 & 4u); aot_gpr_5 = (aot_gpr_5 >> 2u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2180), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911480; } goto L_08911468; } L_08911468: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911480; } goto L_08911474; } L_08911474: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); aot_gpr_31 = (0x08911480u); aot_gpr_5 = (ctx.gpr[17] + static_cast(2144)); 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 == 0x08911480u) goto L_08911480; AOT_REGCACHE_SYNC_OUT(); return; L_08911480: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911494: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(476))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[7] & 1u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08911518; } goto L_089114D0; } L_089114D0: aot_gpr_31 = (0x089114D8u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 195u, 0x0886D420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089114D8u) goto L_089114D8; AOT_REGCACHE_SYNC_OUT(); return; L_089114D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_089114F0; } goto L_089114E4; L_089114E4: aot_gpr_31 = (0x089114ECu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089114ECu) goto L_089114EC; AOT_REGCACHE_SYNC_OUT(); return; L_089114EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_089114F0; L_089114F0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_6 = (0u | 89u); aot_gpr_31 = (0x08911500u); ctx.gpr[7] = (0u | 414u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911500u) goto L_08911500; AOT_REGCACHE_SYNC_OUT(); return; L_08911500: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0891150Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_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 == 0x0891150Cu) goto L_0891150C; AOT_REGCACHE_SYNC_OUT(); return; L_0891150C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(476))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(476), aot_gpr_4); goto L_08911518; L_08911518: { const bool branch_taken = aot_gpr_16 != 0u; if (branch_taken) { goto L_089115A0; } goto L_08911520; } L_08911520: aot_gpr_31 = (0x08911528u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911528u) goto L_08911528; AOT_REGCACHE_SYNC_OUT(); return; L_08911528: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08911728; } goto L_08911530; } L_08911530: aot_gpr_31 = (0x08911538u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911538u) goto L_08911538; AOT_REGCACHE_SYNC_OUT(); return; L_08911538: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); aot_gpr_5 = (0u | 413u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08911728; } goto L_08911548; } L_08911548: aot_gpr_31 = (0x08911550u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911550u) goto L_08911550; AOT_REGCACHE_SYNC_OUT(); return; L_08911550: aot_gpr_4 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08911574; } goto L_08911568; L_08911568: aot_gpr_31 = (0x08911570u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911570u) goto L_08911570; AOT_REGCACHE_SYNC_OUT(); return; L_08911570: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08911574; L_08911574: ctx.gpr[8] = (16256u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_6 = (0u | 89u); aot_gpr_31 = (0x0891158Cu); ctx.gpr[7] = (0u | 414u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891158Cu) goto L_0891158C; AOT_REGCACHE_SYNC_OUT(); return; L_0891158C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08911598u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_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 == 0x08911598u) goto L_08911598; AOT_REGCACHE_SYNC_OUT(); return; L_08911598: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911728; } goto L_089115A0; } L_089115A0: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08911728; } goto L_089115A8; } L_089115A8: 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 = (ctx.gpr[18] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { 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<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_20 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089115F0u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089115F0u) goto L_089115F0; AOT_REGCACHE_SYNC_OUT(); return; L_089115F0: aot_gpr_4 = (16256u << 16u); { const bool branch_taken = ctx.gpr[2] == 0u; ctx.fpr[22] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08911628; } goto L_089115FC; } L_089115FC: aot_gpr_31 = (0x08911604u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911604u) goto L_08911604; AOT_REGCACHE_SYNC_OUT(); return; L_08911604: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); aot_gpr_5 = (0u | 414u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08911628; } goto L_08911614; } L_08911614: aot_gpr_31 = (0x0891161Cu); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891161Cu) goto L_0891161C; AOT_REGCACHE_SYNC_OUT(); return; L_0891161C: aot_gpr_4 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08911628; L_08911628: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08911640; } goto L_08911634; L_08911634: aot_gpr_31 = (0x0891163Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891163Cu) goto L_0891163C; AOT_REGCACHE_SYNC_OUT(); return; L_0891163C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08911640; L_08911640: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_6 = (0u | 89u); aot_gpr_31 = (0x08911654u); ctx.gpr[7] = (0u | 413u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911654u) goto L_08911654; AOT_REGCACHE_SYNC_OUT(); return; L_08911654: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08911660u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_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 == 0x08911660u) goto L_08911660; AOT_REGCACHE_SYNC_OUT(); return; L_08911660: aot_gpr_31 = (0x08911668u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911668u) goto L_08911668; AOT_REGCACHE_SYNC_OUT(); return; L_08911668: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089116F4; } goto L_08911670; } L_08911670: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_gpr_31 = (0x0891169Cu); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891169Cu) goto L_0891169C; AOT_REGCACHE_SYNC_OUT(); return; L_0891169C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } aot_gpr_31 = (0x089116B0u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116B0u) goto L_089116B0; AOT_REGCACHE_SYNC_OUT(); return; L_089116B0: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); aot_gpr_31 = (0x089116BCu); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116BCu) goto L_089116BC; AOT_REGCACHE_SYNC_OUT(); return; L_089116BC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[26]; aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; aot_gpr_31 = (0x089116DCu); aot_gpr_4 = (ctx.gpr[2] | 0u); 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 == 0x089116DCu) goto L_089116DC; AOT_REGCACHE_SYNC_OUT(); return; L_089116DC: aot_gpr_31 = (0x089116E4u); 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, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116E4u) goto L_089116E4; AOT_REGCACHE_SYNC_OUT(); return; L_089116E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); goto L_089116F4; L_089116F4: { 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(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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08911728; } goto L_0891171C; } L_0891171C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08911728u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08912718; L_08911728: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911750: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08911774; } goto L_0891175C; } L_0891175C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); aot_gpr_5 = (0u | 7u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089117A4; } goto L_0891176C; } L_0891176C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 8u); if (branch_taken) { goto L_0891177C; } goto L_08911774; } L_08911774: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_089117B0; } goto L_0891177C; } L_0891177C: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 9u); if (branch_taken) { goto L_089117A4; } goto L_08911784; } L_08911784: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 12u); if (branch_taken) { goto L_089117A4; } goto L_0891178C; } L_0891178C: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 13u); if (branch_taken) { goto L_089117A4; } goto L_08911794; } L_08911794: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 15u); if (branch_taken) { goto L_089117A4; } goto L_0891179C; } L_0891179C: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089117AC; } goto L_089117A4; } L_089117A4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_089117B0; } goto L_089117AC; } L_089117AC: ctx.gpr[2] = (0u | 0u); goto L_089117B0; L_089117B0: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089117B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); { 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(8), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } aot_gpr_31 = (0x089117F4u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089117F4u) goto L_089117F4; AOT_REGCACHE_SYNC_OUT(); return; L_089117F4: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (49408u << 16u); if (branch_taken) { goto L_089118F4; } goto L_08911800; } L_08911800: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); goto L_0891180C; L_0891180C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(50)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911850; } goto L_08911830; } L_08911830: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08911844u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_089119D0; L_08911844: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_0891186C; } goto L_08911850; } L_08911850: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08911864u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_08911A90; L_08911864: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_0891186C; L_0891186C: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_089118E8; } goto L_08911874; } L_08911874: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08911894u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911894u) goto L_08911894; AOT_REGCACHE_SYNC_OUT(); return; L_08911894: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(8), ctx.gpr[20]); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(16), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(36), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(32))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089118C8u); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } 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 == 0x089118C8u) goto L_089118C8; AOT_REGCACHE_SYNC_OUT(); return; L_089118C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(44))); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(44), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(36), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_gpr_4 | 8u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 4u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); goto L_089118E8; L_089118E8: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); if (ctx.gpr[18] != 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); goto L_0891180C; } goto L_089118F4; L_089118F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_6 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08911910; } goto L_08911904; } L_08911904: aot_gpr_6 = (0u | 57u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08911918; } goto L_08911910; } L_08911910: aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_5 & 255u); goto L_08911918; L_08911918: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089119A0; } goto L_08911920; } L_08911920: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089119A0; } goto L_08911938; } L_08911938: ctx.gpr[8] = (17530u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08911954u); ctx.gpr[7] = (0u | 152u); 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 == 0x08911954u) goto L_08911954; AOT_REGCACHE_SYNC_OUT(); return; L_08911954: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_gpr_5 = (16243u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08911978u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } if (([&]() { 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 == 0x08911978u) goto L_08911978; AOT_REGCACHE_SYNC_OUT(); return; L_08911978: aot_gpr_4 = (16253u << 16u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 | 28836u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (14545u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_4 | 46871u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(aot_fpr_13)); goto L_089119A0; L_089119A0: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; 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(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089119D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-2)); aot_gpr_5 = (aot_gpr_4 < static_cast(43) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08911A88; } goto L_089119E4; } L_089119E4: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-12688))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089119FC: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 250u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911A88; } goto L_08911A10; } L_08911A10: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 251u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911A88; } goto L_08911A24; } L_08911A24: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 252u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911A88; } goto L_08911A38; } L_08911A38: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 253u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911A88; } goto L_08911A4C; } L_08911A4C: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 256u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911A88; } goto L_08911A60; } L_08911A60: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 254u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911A88; } goto L_08911A74; } L_08911A74: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 255u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911A88; } goto L_08911A88; } L_08911A88: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911A90: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_gpr_16 = (ctx.gpr[7] | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08911AB4u); ctx.gpr[17] = (aot_gpr_6 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911AB4u) goto L_08911AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08911AB4: aot_gpr_31 = (0x08911ABCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911ABCu) goto L_08911ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08911ABC: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08911AD0; } goto L_08911AC4; } L_08911AC4: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08911AE0; } goto L_08911AD0; } L_08911AD0: aot_gpr_31 = (0x08911AD8u); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08910DB8; L_08911AD8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08911AE0; L_08911AE0: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-250)); aot_gpr_4 = (ctx.gpr[18] < static_cast(7) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911B64; } goto L_08911AF0; } L_08911AF0: ctx.gpr[18] = (ctx.gpr[18] << 2u); ctx.gpr[1] = (2232u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[18]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-12512))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911B08: aot_gpr_4 = (0u | 6u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911B64; } goto L_08911B14; } L_08911B14: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911B64; } goto L_08911B20; } L_08911B20: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911B64; } goto L_08911B2C; } L_08911B2C: aot_gpr_4 = (0u | 5u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911B64; } goto L_08911B38; } L_08911B38: aot_gpr_4 = (0u | 7u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911B64; } goto L_08911B44; } L_08911B44: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); aot_gpr_4 = (0u | 8u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911B64; } goto L_08911B54; } L_08911B54: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); aot_gpr_4 = (0u | 9u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08911B64; } goto L_08911B64; } L_08911B64: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911B7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (2234u << 16u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_6 = (0u | 76u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_31 = (0x08911BA8u); aot_gpr_5 = (aot_gpr_5 + static_cast(-9256)); 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 == 0x08911BA8u) goto L_08911BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08911BA8: ctx.gpr[18] = (aot_gpr_29 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[17] = (0u | 173u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; if (branch_taken) { goto L_08911BF0; } goto L_08911BBC; } L_08911BBC: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_31 = (0x08911BCCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911BCCu) goto L_08911BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08911BCC: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911BE0; } goto L_08911BD8; } L_08911BD8: aot_gpr_31 = (0x08911BE0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 620u, 0x0888FEB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911BE0u) goto L_08911BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08911BE0: ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; if (branch_taken) { goto L_08911BBC; } goto L_08911BF0; } L_08911BF0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911C08: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08911C24u); 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 == 0x08911C24u) goto L_08911C24; AOT_REGCACHE_SYNC_OUT(); return; L_08911C24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; ctx.gpr[17] = (32768u << 16u); if (branch_taken) { goto L_08911D14; } goto L_08911C38; } L_08911C38: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_6 = (0u | 9u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; if (branch_taken) { goto L_08911C8C; } goto L_08911C48; } L_08911C48: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_31 = (0x08911C54u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 197u, 0x0886D43Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911C54u) goto L_08911C54; AOT_REGCACHE_SYNC_OUT(); return; L_08911C54: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 59u); aot_gpr_31 = (0x08911C68u); ctx.gpr[7] = (0u | 249u); 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 == 0x08911C68u) goto L_08911C68; AOT_REGCACHE_SYNC_OUT(); return; L_08911C68: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911C84; } goto L_08911C74; } L_08911C74: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); goto L_08911C84; L_08911C84: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911D14; } goto L_08911C8C; } L_08911C8C: aot_gpr_31 = (0x08911C94u); 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 == 0x08911C94u) goto L_08911C94; AOT_REGCACHE_SYNC_OUT(); return; L_08911C94: { const bool branch_taken = ctx.gpr[2] == aot_gpr_16; if (branch_taken) { goto L_08911CB0; } goto L_08911C9C; } L_08911C9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_31 = (0x08911CA8u); aot_gpr_5 = (0u | 3u); 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 == 0x08911CA8u) goto L_08911CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08911CA8: { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; if (branch_taken) { goto L_08911CD8; } goto L_08911CB0; } L_08911CB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 59u); aot_gpr_31 = (0x08911CD0u); ctx.gpr[7] = (0u | 242u); 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 == 0x08911CD0u) goto L_08911CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08911CD0: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08911D04; } goto L_08911CD8; } L_08911CD8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); aot_gpr_5 = (32768u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 59u); aot_gpr_31 = (0x08911D00u); ctx.gpr[7] = (0u | 235u); 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 == 0x08911D00u) goto L_08911D00; AOT_REGCACHE_SYNC_OUT(); return; L_08911D00: aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_08911D04; L_08911D04: aot_gpr_5 = (2193u << 16u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08911D14u); aot_gpr_5 = (aot_gpr_5 + static_cast(-12812)); 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 == 0x08911D14u) goto L_08911D14; AOT_REGCACHE_SYNC_OUT(); return; L_08911D14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 1u); { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); if (branch_taken) { goto L_08911D3C; } goto L_08911D2C; } L_08911D2C: ctx.gpr[17] = (ctx.gpr[17] | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (ctx.gpr[17] | 4u); if (branch_taken) { goto L_08911D4C; } goto L_08911D3C; } L_08911D3C: aot_gpr_4 = (0u + static_cast(-3)); ctx.gpr[17] = (ctx.gpr[17] & aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); ctx.gpr[17] = (ctx.gpr[17] | 4u); goto L_08911D4C; L_08911D4C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1744), 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1748), 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911D6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911DA0; } goto L_08911D90; } L_08911D90: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_6 = (0u | 1u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_08911DBC; } goto L_08911DA0; } L_08911DA0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); ctx.gpr[18] = (0u | 1u); aot_gpr_5 = (aot_gpr_5 & 8u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[17] = (aot_gpr_16 + static_cast(1396)); if (branch_taken) { goto L_08911DC4; } goto L_08911DB4; } L_08911DB4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911DC8; } goto L_08911DBC; } L_08911DBC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911F80; } goto L_08911DC4; } L_08911DC4: ctx.gpr[18] = (0u | 0u); goto L_08911DC8; L_08911DC8: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911DE4; } goto L_08911DD0; } L_08911DD0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08911DE4; } goto L_08911DE0; } L_08911DE0: ctx.gpr[18] = (0u | 0u); goto L_08911DE4; L_08911DE4: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911E00; } goto L_08911DEC; } L_08911DEC: aot_gpr_31 = (0x08911DF4u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 187u, 0x08B00B68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911DF4u) goto L_08911DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08911DF4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08911E00; } goto L_08911DFC; } L_08911DFC: ctx.gpr[18] = (0u | 0u); goto L_08911E00; L_08911E00: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08911E60; } goto L_08911E1C; } L_08911E1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 24u); if (aot_gpr_5 == aot_gpr_6) { ctx.gpr[17] = (0u | 1u); goto L_08911E60; } goto L_08911E2C; L_08911E2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 25u); if (aot_gpr_5 == aot_gpr_6) { ctx.gpr[17] = (0u | 1u); goto L_08911E60; } goto L_08911E3C; L_08911E3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (0u | 26u); if (aot_gpr_5 == aot_gpr_6) { ctx.gpr[17] = (0u | 1u); goto L_08911E60; } goto L_08911E4C; L_08911E4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 27u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08911E64; } goto L_08911E5C; } L_08911E5C: ctx.gpr[17] = (0u | 1u); goto L_08911E60; L_08911E60: aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08911E64; L_08911E64: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08911E70; } goto L_08911E6C; } L_08911E6C: ctx.gpr[18] = (0u | 0u); goto L_08911E70; L_08911E70: aot_gpr_31 = (0x08911E78u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 31u, 0x0891826Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911E78u) goto L_08911E78; AOT_REGCACHE_SYNC_OUT(); return; L_08911E78: aot_gpr_31 = (0x08911E80u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08911E80: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08911E8C; } goto L_08911E88; } L_08911E88: ctx.gpr[18] = (0u | 0u); goto L_08911E8C; L_08911E8C: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08911F68; } goto L_08911E94; } L_08911E94: aot_gpr_31 = (0x08911E9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08911E9C: aot_gpr_31 = (0x08911EA4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08911EA4: aot_gpr_31 = (0x08911EACu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08911EAC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); aot_gpr_5 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911EC0; } goto L_08911EC0; } L_08911EC0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08911ED8; } goto L_08911ED0; } L_08911ED0: aot_gpr_31 = (0x08911ED8u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08911C08; L_08911ED8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_5 = (0u | 6u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; if (branch_taken) { goto L_08911F08; } goto L_08911EEC; } L_08911EEC: aot_gpr_31 = (0x08911EF4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08911EF4: aot_gpr_5 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08911F00u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08911F98; L_08911F00: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911F48; } goto L_08911F08; } L_08911F08: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08911F34; } goto L_08911F18; } L_08911F18: aot_gpr_31 = (0x08911F20u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08911F20: aot_gpr_5 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08911F2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0891227C; L_08911F2C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911F48; } goto L_08911F34; } L_08911F34: aot_gpr_31 = (0x08911F3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08911F3C: aot_gpr_5 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08911F48u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 20u, 0x08930380u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911F48u) goto L_08911F48; AOT_REGCACHE_SYNC_OUT(); return; L_08911F48: aot_gpr_31 = (0x08911F50u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911F50u) goto L_08911F50; AOT_REGCACHE_SYNC_OUT(); return; L_08911F50: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08911F80; } goto L_08911F58; } L_08911F58: aot_gpr_31 = (0x08911F60u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08912560; L_08911F60: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08911F80; } goto L_08911F68; } L_08911F68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08911F80; } goto L_08911F78; } L_08911F78: aot_gpr_31 = (0x08911F80u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0891241C; L_08911F80: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08911F98: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[17] = (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[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_31 = (0x08911FECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 934u, 0x0885FE8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911FECu) goto L_08911FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08911FEC: aot_fpr_20 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_20)); ctx.gpr[19] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08912018u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 178u, 0x08904B64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912018u) goto L_08912018; AOT_REGCACHE_SYNC_OUT(); return; L_08912018: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_gpr_4 = (0u | 1u); goto L_08912088; } goto L_08912088; L_08912088: aot_gpr_6 = (16128u << 16u); aot_gpr_5 = (aot_gpr_4 & 255u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_gpr_4 = (0u | 1u); goto L_089120A8; } goto L_089120A8; L_089120A8: aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912130; } goto L_089120B4; } L_089120B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089120C4u); aot_gpr_6 = (0u | 203u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089120C4u) goto L_089120C4; AOT_REGCACHE_SYNC_OUT(); return; L_089120C4: aot_gpr_4 = (ctx.gpr[2] | 0u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089120F0; } goto L_089120D0; L_089120D0: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912128; } goto L_089120D8; } L_089120D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); 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_08912128; } goto L_089120EC; } L_089120EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089120F0; L_089120F0: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0891210Cu); aot_gpr_4 = (aot_gpr_4 + 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 == 0x0891210Cu) goto L_0891210C; AOT_REGCACHE_SYNC_OUT(); return; L_0891210C: ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912128u); ctx.gpr[7] = (0u | 203u); 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 == 0x08912128u) goto L_08912128; AOT_REGCACHE_SYNC_OUT(); return; L_08912128: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08912228; } goto L_08912130; } L_08912130: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_089121B4; } goto L_08912138; } L_08912138: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912148u); aot_gpr_6 = (0u | 202u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912148u) goto L_08912148; AOT_REGCACHE_SYNC_OUT(); return; L_08912148: aot_gpr_4 = (ctx.gpr[2] | 0u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_08912174; } goto L_08912154; L_08912154: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089121AC; } goto L_0891215C; } L_0891215C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); 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_089121AC; } goto L_08912170; } L_08912170: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_08912174; L_08912174: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08912190u); aot_gpr_4 = (aot_gpr_4 + 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 == 0x08912190u) goto L_08912190; AOT_REGCACHE_SYNC_OUT(); return; L_08912190: ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089121ACu); ctx.gpr[7] = (0u | 202u); 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 == 0x089121ACu) goto L_089121AC; AOT_REGCACHE_SYNC_OUT(); return; L_089121AC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08912228; } goto L_089121B4; } L_089121B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089121C4u); aot_gpr_6 = (0u | 201u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089121C4u) goto L_089121C4; AOT_REGCACHE_SYNC_OUT(); return; L_089121C4: aot_gpr_4 = (ctx.gpr[2] | 0u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089121F0; } goto L_089121D0; L_089121D0: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912228; } goto L_089121D8; } L_089121D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); 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_08912228; } goto L_089121EC; } L_089121EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089121F0; L_089121F0: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0891220Cu); aot_gpr_4 = (aot_gpr_4 + 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 == 0x0891220Cu) goto L_0891220C; AOT_REGCACHE_SYNC_OUT(); return; L_0891220C: ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912228u); ctx.gpr[7] = (0u | 201u); 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 == 0x08912228u) goto L_08912228; AOT_REGCACHE_SYNC_OUT(); return; L_08912228: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_gpr_4 | 256u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912258; } goto L_08912244; } L_08912244: 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_08912258; } goto L_08912250; } L_08912250: aot_gpr_31 = (0x08912258u); 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 == 0x08912258u) goto L_08912258; AOT_REGCACHE_SYNC_OUT(); return; L_08912258: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(128), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } 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_0891227C: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[17] = (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[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_31 = (0x089122D4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 934u, 0x0885FE8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089122D4u) goto L_089122D4; AOT_REGCACHE_SYNC_OUT(); return; L_089122D4: ctx.fpr[24] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(ctx.fpr[24])); ctx.gpr[19] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08912300u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 178u, 0x08904B64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912300u) goto L_08912300; AOT_REGCACHE_SYNC_OUT(); return; L_08912300: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_gpr_4 = (0u | 1u); goto L_08912370; } goto L_08912370; L_08912370: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); aot_gpr_16 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0891238Cu); aot_gpr_6 = (0u | 249u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891238Cu) goto L_0891238C; AOT_REGCACHE_SYNC_OUT(); return; L_0891238C: aot_gpr_4 = (ctx.gpr[2] | 0u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); goto L_089123D4; } goto L_08912398; L_08912398: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 & 1u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); goto L_089123D4; } goto L_089123A8; L_089123A8: if (aot_gpr_16 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); goto L_089123D4; } goto L_089123B0; L_089123B0: aot_fpr_12 = aot_fpr_20 + ctx.fpr[22]; aot_gpr_5 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_gpr_31 = (0x089123D0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } 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 == 0x089123D0u) goto L_089123D0; AOT_REGCACHE_SYNC_OUT(); return; L_089123D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); goto L_089123D4; L_089123D4: aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089123F4; } goto L_089123E0; } L_089123E0: 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_089123F4; } goto L_089123EC; } L_089123EC: aot_gpr_31 = (0x089123F4u); 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 == 0x089123F4u) goto L_089123F4; AOT_REGCACHE_SYNC_OUT(); return; L_089123F4: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(128), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; } 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_0891241C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 9u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08912528; } goto L_08912444; } L_08912444: 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; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (branch_taken) { goto L_0891250C; } goto L_08912454; } L_08912454: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08912464u); aot_gpr_6 = (0u | 203u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912464u) goto L_08912464; AOT_REGCACHE_SYNC_OUT(); return; L_08912464: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912478u); aot_gpr_6 = (0u | 201u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912478u) goto L_08912478; AOT_REGCACHE_SYNC_OUT(); return; L_08912478: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0891248Cu); aot_gpr_6 = (0u | 202u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891248Cu) goto L_0891248C; AOT_REGCACHE_SYNC_OUT(); return; L_0891248C: { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_089124A0; } goto L_08912494; } L_08912494: aot_gpr_5 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089124A0; L_089124A0: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_089124B4; } goto L_089124A8; } L_089124A8: aot_gpr_5 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089124B4; L_089124B4: if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089124CC; } goto L_089124BC; L_089124BC: aot_gpr_5 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089124CC; L_089124CC: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089124E8u); aot_gpr_4 = (aot_gpr_4 + 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 == 0x089124E8u) goto L_089124E8; AOT_REGCACHE_SYNC_OUT(); return; L_089124E8: ctx.gpr[8] = (16256u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912504u); ctx.gpr[7] = (0u | 204u); 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 == 0x08912504u) goto L_08912504; AOT_REGCACHE_SYNC_OUT(); return; L_08912504: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); if (branch_taken) { goto L_0891252C; } goto L_0891250C; } L_0891250C: ctx.gpr[8] = (16512u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08912528u); ctx.gpr[7] = (0u | 99u); 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 == 0x08912528u) goto L_08912528; AOT_REGCACHE_SYNC_OUT(); return; L_08912528: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); goto L_0891252C; L_0891252C: aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-257)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08912560: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_31 = (0x0891258Cu); aot_gpr_6 = (0u | 235u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891258Cu) goto L_0891258C; AOT_REGCACHE_SYNC_OUT(); return; L_0891258C: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089125A8; } goto L_08912598; } L_08912598: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089125CC; } goto L_089125A8; } L_089125A8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089125B8u); aot_gpr_6 = (0u | 242u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089125B8u) goto L_089125B8; AOT_REGCACHE_SYNC_OUT(); return; L_089125B8: aot_gpr_4 = (ctx.gpr[2] | 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); goto L_089125D4; } goto L_089125C4; L_089125C4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089125E0; } goto L_089125CC; } L_089125CC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089126F8; } goto L_089125D4; } L_089125D4: aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08912620; } goto L_089125E0; } L_089125E0: aot_gpr_31 = (0x089125E8u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08912E78; L_089125E8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0891260Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891260Cu) goto L_0891260C; AOT_REGCACHE_SYNC_OUT(); return; L_0891260C: ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[17] != 0u; if (branch_taken) { goto L_08912628; } goto L_08912618; } L_08912618: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089126F8; } goto L_08912620; } L_08912620: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089126F8; } goto L_08912628; } L_08912628: aot_gpr_31 = (0x08912630u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_08912630: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_089126F8; } goto L_08912638; } L_08912638: 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0891264Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891264Cu) goto L_0891264C; AOT_REGCACHE_SYNC_OUT(); return; L_0891264C: ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08912660u); 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_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912660u) goto L_08912660; AOT_REGCACHE_SYNC_OUT(); return; L_08912660: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0891266Cu); ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891266Cu) goto L_0891266C; AOT_REGCACHE_SYNC_OUT(); return; L_0891266C: ctx.gpr[17] = (ctx.gpr[17] << 6u); ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); ctx.gpr[19] = (aot_gpr_4 + static_cast(240)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); ctx.gpr[20] = (aot_gpr_16 + aot_gpr_4); aot_gpr_31 = (0x0891268Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_0891268C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x0891269Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891269Cu) goto L_0891269C; AOT_REGCACHE_SYNC_OUT(); return; L_0891269C: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_089126DC; } goto L_089126A4; } L_089126A4: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089126B8u); ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089126B8u) goto L_089126B8; AOT_REGCACHE_SYNC_OUT(); return; L_089126B8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089126DCu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0144_entry, 144u, 206u, 0x08A45338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089126DCu) goto L_089126DC; AOT_REGCACHE_SYNC_OUT(); return; L_089126DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); 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 = (0x089126F8u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089126F8u) goto L_089126F8; AOT_REGCACHE_SYNC_OUT(); return; L_089126F8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08912718: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_31 = (0x0891273Cu); aot_gpr_16 = (aot_gpr_5 | 0u); goto L_08912E78; L_0891273C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08912760u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912760u) goto L_08912760; AOT_REGCACHE_SYNC_OUT(); return; L_08912760: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08912820; } goto L_0891276C; } L_0891276C: aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08912780u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912780u) goto L_08912780; AOT_REGCACHE_SYNC_OUT(); return; L_08912780: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08912794u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912794u) goto L_08912794; AOT_REGCACHE_SYNC_OUT(); return; L_08912794: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089127A0u); aot_gpr_16 = (ctx.gpr[2] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089127A0u) goto L_089127A0; AOT_REGCACHE_SYNC_OUT(); return; L_089127A0: aot_gpr_16 = (aot_gpr_16 << 6u); aot_gpr_16 = (ctx.gpr[2] + aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(240)); 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); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x089127C4u); aot_gpr_5 = (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 == 0x089127C4u) goto L_089127C4; AOT_REGCACHE_SYNC_OUT(); return; L_089127C4: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08912804; } goto L_089127CC; } L_089127CC: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089127E0u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089127E0u) goto L_089127E0; AOT_REGCACHE_SYNC_OUT(); return; L_089127E0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08912804u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0144_entry, 144u, 206u, 0x08A45338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912804u) goto L_08912804; AOT_REGCACHE_SYNC_OUT(); return; L_08912804: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); 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 = (0x08912820u); aot_gpr_4 = (ctx.gpr[17] + 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 == 0x08912820u) goto L_08912820; AOT_REGCACHE_SYNC_OUT(); return; L_08912820: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0891283C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08912860; } goto L_08912850; } L_08912850: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(614)))))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_08912878; } goto L_08912860; } L_08912860: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(472))); aot_gpr_6 = (aot_gpr_6 & 8u); { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_08912880; } goto L_08912870; } L_08912870: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_089128A0; } goto L_08912878; } L_08912878: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_089128A0; } goto L_08912880; } L_08912880: { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08912870; } goto L_08912888; } L_08912888: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08912894u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 169u, 0x08B00A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912894u) goto L_08912894; AOT_REGCACHE_SYNC_OUT(); return; L_08912894: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08912870; } goto L_0891289C; } L_0891289C: ctx.gpr[2] = (0u | 1u); goto L_089128A0; L_089128A0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089128AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); aot_gpr_6 = (0u | 58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089128E0; } goto L_089128D4; } L_089128D4: aot_gpr_6 = (0u | 57u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_089128E8; } goto L_089128E0; } L_089128E0: aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_5 & 255u); goto L_089128E8; L_089128E8: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08912920; } goto L_089128F0; } L_089128F0: aot_gpr_31 = (0x089128F8u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08910B38; L_089128F8: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08912920; } goto L_08912900; } L_08912900: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (32768u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-20211))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912920; } goto L_0891291C; } L_0891291C: ctx.gpr[17] = (0u | 1u); goto L_08912920; L_08912920: ctx.gpr[2] = (ctx.gpr[17] & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08912938: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); aot_gpr_6 = (0u | 58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0891296C; } goto L_08912960; } L_08912960: aot_gpr_6 = (0u | 57u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08912974; } goto L_0891296C; } L_0891296C: aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_5 & 255u); goto L_08912974; L_08912974: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089129D8; } goto L_0891297C; } L_0891297C: aot_gpr_31 = (0x08912984u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08910B38; L_08912984: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_089129D8; } goto L_0891298C; } L_0891298C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_5 = (0u | 2u); if (branch_taken) { goto L_089129AC; } goto L_0891299C; } L_0891299C: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-20210))); if (aot_gpr_5 != 0u) { ctx.gpr[17] = (0u | 1u); goto L_089129D8; } goto L_089129A8; L_089129A8: aot_gpr_5 = (0u | 2u); goto L_089129AC; L_089129AC: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089129D8; } goto L_089129B4; } L_089129B4: aot_gpr_31 = (0x089129BCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089129BCu) goto L_089129BC; AOT_REGCACHE_SYNC_OUT(); return; L_089129BC: if (ctx.gpr[2] != 0u) { ctx.gpr[17] = (0u | 1u); goto L_089129D8; } goto L_089129C4; L_089129C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089129D8; } goto L_089129D4; } L_089129D4: ctx.gpr[17] = (0u | 1u); goto L_089129D8; L_089129D8: ctx.gpr[2] = (ctx.gpr[17] & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089129F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); aot_gpr_6 = (0u | 58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08912A24; } goto L_08912A18; } L_08912A18: aot_gpr_6 = (0u | 57u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08912A2C; } goto L_08912A24; } L_08912A24: aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_5 & 255u); goto L_08912A2C; L_08912A2C: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08912A58; } goto L_08912A34; } L_08912A34: aot_gpr_31 = (0x08912A3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08910B38; L_08912A3C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08912A58; } goto L_08912A44; } L_08912A44: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912A58; } goto L_08912A54; } L_08912A54: ctx.gpr[17] = (0u | 1u); goto L_08912A58; L_08912A58: ctx.gpr[2] = (ctx.gpr[17] & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08912A70: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(236))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; aot_fpr_20 = std::bit_cast(0u); if (branch_taken) { goto L_08912ADC; } goto L_08912A9C; } L_08912A9C: aot_gpr_4 = (15107u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2092))); { 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_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (16256u << 16u); aot_fpr_13 = aot_fpr_14 + aot_fpr_13; aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2092), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08912AD4; } goto L_08912AD4; L_08912AD4: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2092), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08912BCC; } goto L_08912ADC; } L_08912ADC: aot_gpr_31 = (0x08912AE4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912AE4u) goto L_08912AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08912AE4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08912B08; } goto L_08912AEC; } L_08912AEC: aot_gpr_31 = (0x08912AF4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.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_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912AF4u) goto L_08912AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08912AF4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(332))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912B08; } goto L_08912B00; } L_08912B00: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08912BCC; } goto L_08912B08; } L_08912B08: aot_gpr_4 = (aot_gpr_16 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15267u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7760))); { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (14417u << 16u); aot_gpr_4 = (aot_gpr_4 | 46871u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); aot_gpr_5 = (0u | 6u); if (aot_gpr_4 != aot_gpr_5) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); goto L_08912B6C; } goto L_08912B5C; L_08912B5C: aot_gpr_4 = (16448u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); goto L_08912B6C; L_08912B6C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2092))); { 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_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2092), std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); goto L_08912B8C; } goto L_08912B8C; L_08912B8C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2092), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08912BCC; } goto L_08912B9C; } L_08912B9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_gpr_5 = (256u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08912BC4; } goto L_08912BB0; } L_08912BB0: aot_gpr_4 = (14979u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2092), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08912BCC; } goto L_08912BC4; } L_08912BC4: aot_gpr_31 = (0x08912BCCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 468u, 0x08909C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912BCCu) goto L_08912BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08912BCC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08912BE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_6 = (0u | 43u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08912C14; } goto L_08912C08; } L_08912C08: aot_gpr_6 = (0u | 44u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08912C1C; } goto L_08912C14; } L_08912C14: aot_gpr_5 = (0u | 1u); aot_gpr_5 = (aot_gpr_5 & 255u); goto L_08912C1C; L_08912C1C: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_5 = (0u | 45u); if (branch_taken) { goto L_08912C3C; } goto L_08912C24; } L_08912C24: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08912C3C; } goto L_08912C2C; } L_08912C2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 8192u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); goto L_08912C44; } goto L_08912C3C; L_08912C3C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08912CD8; } goto L_08912C44; } L_08912C44: aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(236), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(472))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1793)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(472), aot_gpr_4); aot_gpr_31 = (0x08912C78u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 36u, 0x08A08730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912C78u) goto L_08912C78; AOT_REGCACHE_SYNC_OUT(); return; L_08912C78: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08912C84u); aot_gpr_5 = (0u | 44u); 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 == 0x08912C84u) goto L_08912C84; AOT_REGCACHE_SYNC_OUT(); return; L_08912C84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_6 = (aot_gpr_16 + static_cast(16)); aot_gpr_31 = (0x08912C94u); 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, 789u, 0x0890F6ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912C94u) goto L_08912C94; AOT_REGCACHE_SYNC_OUT(); return; L_08912C94: ctx.gpr[8] = (17530u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 60u); aot_gpr_31 = (0x08912CB0u); ctx.gpr[7] = (0u | 257u); 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 == 0x08912CB0u) goto L_08912CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08912CB0: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_5 = (2192u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08912CC8u); aot_gpr_5 = (aot_gpr_5 + static_cast(22564)); 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 == 0x08912CC8u) goto L_08912CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08912CC8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20384))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2256))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2260), std::bit_cast(aot_fpr_12)); goto L_08912CD8; L_08912CD8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08912CEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_gpr_6 = (0u | 17u); { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08912DA8; } goto L_08912D1C; } L_08912D1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08912D34u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912D34u) goto L_08912D34; AOT_REGCACHE_SYNC_OUT(); return; L_08912D34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); 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 = (0x08912D4Cu); aot_gpr_4 = (ctx.gpr[2] + 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 == 0x08912D4Cu) goto L_08912D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08912D4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912D64u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912D64u) goto L_08912D64; AOT_REGCACHE_SYNC_OUT(); return; L_08912D64: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(20))); aot_fpr_12 = std::bit_cast(0u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08912DA0; } goto L_08912D84; } L_08912D84: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1914))); ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (16390u << 16u); if (branch_taken) { goto L_08912DB0; } goto L_08912D98; } L_08912D98: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08912E54; } goto L_08912DA0; } L_08912DA0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08912E54; } goto L_08912DA8; } L_08912DA8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08912E54; } goto L_08912DB0; } L_08912DB0: aot_gpr_4 = (aot_gpr_4 | 2706u); ctx.gpr[18] = (aot_gpr_16 + static_cast(48)); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[19] = (aot_gpr_16 | 0u); goto L_08912DC4; L_08912DC4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<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, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20376))); 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_08912E40; } goto L_08912E00; } L_08912E00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08912E10u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 627u, 0x089AB048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912E10u) goto L_08912E10; AOT_REGCACHE_SYNC_OUT(); return; L_08912E10: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08912E40; } goto L_08912E18; } L_08912E18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912E2Cu); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 36u, 0x088E43E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912E2Cu) goto L_08912E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08912E2C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08912E40; } goto L_08912E34; } L_08912E34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_gpr_31 = (0x08912E40u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912E40u) goto L_08912E40; AOT_REGCACHE_SYNC_OUT(); return; L_08912E40: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1914))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { goto L_08912DC4; } goto L_08912E54; } L_08912E54: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(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_08912E78: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1748))); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08912F74; } goto L_08912E9C; } L_08912E9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1744))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08912F04; } goto L_08912EA8; } L_08912EA8: aot_gpr_31 = (0x08912EB0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912EB0u) goto L_08912EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08912EB0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20300))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20304))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912EC4u); aot_gpr_5 = (0u | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912EC4u) goto L_08912EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08912EC4: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_08912EE8; } goto L_08912EE0; } L_08912EE0: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 1u); if (branch_taken) { goto L_08912EEC; } goto L_08912EE8; } L_08912EE8: aot_gpr_5 = (0u | 0u); goto L_08912EEC; L_08912EEC: { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08912EFC; } goto L_08912EF4; } L_08912EF4: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1744), aot_gpr_4); if (branch_taken) { goto L_08912F6C; } goto L_08912EFC; } L_08912EFC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1748), aot_gpr_4); if (branch_taken) { goto L_08912F6C; } goto L_08912F04; } L_08912F04: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912F6C; } goto L_08912F14; } L_08912F14: aot_gpr_31 = (0x08912F1Cu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F1Cu) goto L_08912F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08912F1C: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20284))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20288))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08912F38u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F38u) goto L_08912F38; AOT_REGCACHE_SYNC_OUT(); return; L_08912F38: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08912F68u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 613u, 0x0890A5BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F68u) goto L_08912F68; AOT_REGCACHE_SYNC_OUT(); return; L_08912F68: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1744), 0u); goto L_08912F6C; L_08912F6C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08912F98; } goto L_08912F74; } L_08912F74: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08912F94; } goto L_08912F84; } L_08912F84: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912F90u); aot_gpr_5 = (0u | 500u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F90u) goto L_08912F90; AOT_REGCACHE_SYNC_OUT(); return; L_08912F90: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1748), 0u); goto L_08912F94; L_08912F94: ctx.gpr[2] = (0u | 1u); goto L_08912F98; L_08912F98: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[18] = aot_run_words[1]; ctx.gpr[19] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08912FB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } jump_target = aot_gpr_6; aot_gpr_31 = (0x08912FE0u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912FE0u) goto L_08912FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08912FE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08913098; } goto L_08912FEC; } L_08912FEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08913004u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913004u) goto L_08913004; AOT_REGCACHE_SYNC_OUT(); return; L_08913004: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08913098; } goto L_08913024; } L_08913024: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0891303Cu); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891303Cu) goto L_0891303C; AOT_REGCACHE_SYNC_OUT(); return; L_0891303C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08913060; } goto L_08913050; } L_08913050: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08913064; } goto L_08913060; } L_08913060: ctx.gpr[17] = (0u | 1u); goto L_08913064; L_08913064: aot_gpr_31 = (0x0891306Cu); ctx.gpr[17] = (ctx.gpr[17] & 255u); 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 == 0x0891306Cu) goto L_0891306C; AOT_REGCACHE_SYNC_OUT(); return; L_0891306C: { const bool branch_taken = ctx.gpr[2] == aot_gpr_16; if (branch_taken) { goto L_08913084; } goto L_08913074; } L_08913074: aot_gpr_31 = (0x0891307Cu); 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 == 0x0891307Cu) goto L_0891307C; AOT_REGCACHE_SYNC_OUT(); return; L_0891307C: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; if (branch_taken) { goto L_08913098; } goto L_08913084; } L_08913084: { const bool branch_taken = ctx.gpr[17] != 0u; if (branch_taken) { goto L_08913098; } goto L_0891308C; } L_0891308C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08913098u); aot_gpr_5 = (0u | 137u); 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 == 0x08913098u) goto L_08913098; AOT_REGCACHE_SYNC_OUT(); return; L_08913098: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089130B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_gpr_6 = (0u | 17u); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089130F4; } goto L_089130D0; } L_089130D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x089130E8u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089130E8u) goto L_089130E8; AOT_REGCACHE_SYNC_OUT(); return; L_089130E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08913244; } goto L_089130F4; } L_089130F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08913104u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 227u, 0x08AD120Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913104u) goto L_08913104; AOT_REGCACHE_SYNC_OUT(); return; L_08913104: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08913220; } goto L_08913110; } L_08913110: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08913220; } goto L_08913120; } L_08913120: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_5 = (0u | 55u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08913220; } goto L_08913130; } L_08913130: aot_gpr_31 = (0x08913138u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08910B38; L_08913138: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08913220; } goto L_08913140; } L_08913140: aot_gpr_4 = (static_cast(ctx.gpr[17]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089131B8; } goto L_0891314C; } L_0891314C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08913164u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913164u) goto L_08913164; AOT_REGCACHE_SYNC_OUT(); return; L_08913164: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); 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; if (branch_taken) { goto L_08913198; } goto L_0891317C; } L_0891317C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(2000), 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_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_089131B0; } goto L_08913198; } L_08913198: aot_gpr_4 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_16 + static_cast(1984)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913260; } goto L_089131B0; } L_089131B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0891323C; } goto L_089131B8; } L_089131B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x089131D0u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089131D0u) goto L_089131D0; AOT_REGCACHE_SYNC_OUT(); return; L_089131D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); 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; if (branch_taken) { goto L_08913204; } goto L_089131E8; } L_089131E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(2000), 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_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_0891323C; } goto L_08913204; } L_08913204: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(1984), 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_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_0891323C; } goto L_08913220; } L_08913220: aot_gpr_4 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_16 + static_cast(1984)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_16 + static_cast(2000)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0891323C; L_0891323C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913260; } goto L_08913244; } L_08913244: aot_gpr_4 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_16 + static_cast(1984)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_16 + static_cast(2000)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08913260; L_08913260: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08913274: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_gpr_6 = (0u | 11u); { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089132B8; } goto L_089132A0; } L_089132A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); aot_gpr_4 = (0u | 10u); if (aot_gpr_5 == aot_gpr_4) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); goto L_089132C0; } goto L_089132B0; L_089132B0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_089132CC; } goto L_089132B8; } L_089132B8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913478; } goto L_089132C0; } L_089132C0: aot_gpr_6 = (0u | 1u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_089132F8; } goto L_089132CC; } L_089132CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); aot_gpr_6 = (0u | 2u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_089132E8; } goto L_089132DC; } L_089132DC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; if (branch_taken) { goto L_089133A4; } goto L_089132E8; } L_089132E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(476))); aot_gpr_4 = (aot_gpr_4 & 512u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0891339C; } goto L_089132F8; } L_089132F8: aot_gpr_31 = (0x08913300u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089107EC; L_08913300: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08913394; } goto L_08913308; } L_08913308: ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08913318u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08910074; L_08913318: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); 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(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), 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); } 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 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1939)))))); { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (ctx.lo); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0891338C; } goto L_0891336C; } L_0891336C: aot_gpr_31 = (0x08913374u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 886u, 0x0890FF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913374u) goto L_08913374; AOT_REGCACHE_SYNC_OUT(); return; L_08913374: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (ctx.gpr[2] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_089133AC; } goto L_08913384; } L_08913384: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913478; } goto L_0891338C; } L_0891338C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913478; } goto L_08913394; } L_08913394: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913478; } goto L_0891339C; } L_0891339C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913478; } goto L_089133A4; } L_089133A4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913478; } goto L_089133AC; } L_089133AC: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); { 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); } ctx.gpr[19] = (0u + static_cast(-1)); ctx.gpr[20] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089133D0u); aot_gpr_5 = (ctx.gpr[20] | 0u); goto L_08910074; L_089133D0: ctx.gpr[9] = (aot_gpr_16 + static_cast(908)); ctx.gpr[10] = (aot_gpr_16 + static_cast(904)); aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); ctx.gpr[2] = (aot_gpr_4 & 255u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (ctx.gpr[20] | 0u); ctx.gpr[11] = (0u | 8u); { const std::uint32_t aot_run_words[3]{0u, 0u, ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0891341Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[2]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 607u, 0x08976C80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891341Cu) goto L_0891341C; AOT_REGCACHE_SYNC_OUT(); return; L_0891341C: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(906), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(904)))))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_08913440; } goto L_0891342C; } L_0891342C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_31 = (0x08913438u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 885u, 0x0890FF54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913438u) goto L_08913438; AOT_REGCACHE_SYNC_OUT(); return; L_08913438: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08913478; } goto L_08913440; } L_08913440: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_0891345C; } goto L_08913450; } L_08913450: aot_gpr_4 = (20352u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_0891345C; L_0891345C: aot_gpr_4 = (17914u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x08913478u); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 885u, 0x0890FF54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913478u) goto L_08913478; AOT_REGCACHE_SYNC_OUT(); return; L_08913478: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08913498: aot_gpr_4 = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089134B4; } goto L_089134A4; } L_089134A4: { const bool branch_taken = static_cast(aot_gpr_5) >= 0; if (branch_taken) { goto L_089134BC; } goto L_089134AC; } L_089134AC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 7u); if (branch_taken) { goto L_089134C0; } goto L_089134B4; } L_089134B4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_089134C0; } goto L_089134BC; } L_089134BC: ctx.gpr[2] = (aot_gpr_5 | 0u); goto L_089134C0; L_089134C0: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089134C8: ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(204)))))); jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] & 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_089134D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08913508; } goto L_089134EC; } L_089134EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089134FCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089134FCu) goto L_089134FC; AOT_REGCACHE_SYNC_OUT(); return; L_089134FC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); goto L_08913508; L_08913508: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0891351C: jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08913524: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_6 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08913560u); aot_gpr_5 = (0u | 6u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913560u) goto L_08913560; AOT_REGCACHE_SYNC_OUT(); return; L_08913560: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08913594; } goto L_0891356C; } L_0891356C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08913578u); aot_gpr_5 = (0u | 250u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913578u) goto L_08913578; AOT_REGCACHE_SYNC_OUT(); return; L_08913578: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08913594; } goto L_08913584; } L_08913584: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08913590u); aot_gpr_5 = (0u | 44u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913590u) goto L_08913590; AOT_REGCACHE_SYNC_OUT(); return; L_08913590: aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_08913594; L_08913594: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_089135B4; } goto L_0891359C; } L_0891359C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0891364C; } goto L_089135B4; } L_089135B4: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_089135C8; } goto L_089135BC; } L_089135BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 4u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); goto L_089135C8; L_089135C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_089135F8; } goto L_089135D8; } L_089135D8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089135F0u); ctx.gpr[7] = (0u | 44u); 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 == 0x089135F0u) goto L_089135F0; AOT_REGCACHE_SYNC_OUT(); return; L_089135F0: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0891364C; } goto L_089135F8; } L_089135F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08913630; } goto L_08913610; } L_08913610: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (0u | 60u); aot_gpr_31 = (0x08913628u); ctx.gpr[7] = (0u | 250u); 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 == 0x08913628u) goto L_08913628; AOT_REGCACHE_SYNC_OUT(); return; L_08913628: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0891364C; } goto L_08913630; } L_08913630: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08913648u); 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 == 0x08913648u) goto L_08913648; AOT_REGCACHE_SYNC_OUT(); return; L_08913648: ctx.gpr[17] = (ctx.gpr[2] | 0u); goto L_0891364C; L_0891364C: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08913670: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[22]); aot_gpr_6 = (aot_gpr_4 + static_cast(1984)); ctx.gpr[7] = (aot_gpr_4 + static_cast(2000)); ctx.gpr[8] = (aot_gpr_4 + static_cast(2096)); ctx.gpr[22] = (aot_gpr_4 | 0u); aot_gpr_4 = (17096u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_6); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[7]); ctx.gpr[17] = (65535u << 16u); aot_gpr_4 = (16256u << 16u); 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(56), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[30]); aot_fpr_20 = std::bit_cast(0u); ctx.gpr[23] = (0u + static_cast(-2)); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[30] = (0u + static_cast(-3)); ctx.gpr[19] = (0u + static_cast(-1)); ctx.gpr[18] = (0u + static_cast(-8193)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[8]); aot_gpr_16 = (aot_gpr_5 | 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_31); aot_gpr_31 = (0x089136FCu); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0153_entry, 153u, 258u, 0x08A696F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089136FCu) goto L_089136FC; AOT_REGCACHE_SYNC_OUT(); return; L_089136FC: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(23096)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(92), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(448), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(576), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(584))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(584), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(792), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(796), std::bit_cast(aot_fpr_20)); ctx.gpr[20] = (ctx.gpr[22] + static_cast(800)); aot_gpr_4 = (ctx.gpr[22] + static_cast(816)); aot_gpr_31 = (0x08913734u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0123_entry, 123u, 607u, 0x089F38DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913734u) goto L_08913734; AOT_REGCACHE_SYNC_OUT(); return; L_08913734: aot_gpr_31 = (0x0891373Cu); aot_gpr_4 = (ctx.gpr[22] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 557u, 0x08A9F784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891373Cu) goto L_0891373C; AOT_REGCACHE_SYNC_OUT(); return; L_0891373C: aot_gpr_4 = (ctx.gpr[22] + static_cast(944)); ctx.gpr[7] = (2192u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(23992)); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08913754u); aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913754u) goto L_08913754; AOT_REGCACHE_SYNC_OUT(); return; L_08913754: ctx.gpr[21] = (ctx.gpr[22] + static_cast(1040)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1232), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1240))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1240), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1252), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1256), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1272), std::bit_cast(aot_fpr_20)); ctx.gpr[23] = (ctx.gpr[22] + static_cast(1312)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1360), aot_gpr_16); aot_gpr_4 = (ctx.gpr[22] + static_cast(1396)); ctx.gpr[7] = (2192u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(24488)); aot_gpr_5 = (0u | 10u); aot_gpr_31 = (0x08913798u); aot_gpr_6 = (0u | 28u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913798u) goto L_08913798; AOT_REGCACHE_SYNC_OUT(); return; L_08913798: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(1780)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1780), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1931), static_cast(0u)); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1939), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1960), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1964), 0u); aot_gpr_4 = (0u | 239u); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1968), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1970), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1972), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089137D4u); aot_gpr_4 = (ctx.gpr[22] + static_cast(2016)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0181_entry, 181u, 482u, 0x08AD9C0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089137D4u) goto L_089137D4; AOT_REGCACHE_SYNC_OUT(); return; L_089137D4: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2080), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2084), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2196), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2208), 0u); aot_gpr_16 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2228), aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2236), 0u); aot_gpr_31 = (0x089137F8u); aot_gpr_4 = (ctx.gpr[22] + static_cast(2268)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 831u, 0x08887A7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089137F8u) goto L_089137F8; AOT_REGCACHE_SYNC_OUT(); return; L_089137F8: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2280), ctx.gpr[19]); aot_gpr_4 = (16672u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2284), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2144), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-15)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 6u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 | 8192u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(640), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2276), aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(676), 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0891385Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891385Cu) goto L_0891385C; AOT_REGCACHE_SYNC_OUT(); return; L_0891385C: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1156), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(672), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1152), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(780), 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); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1340), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1344), ctx.gpr[19]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(680), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1380), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2072), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2064), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2068), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1352), 0u); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1384), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1728), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1732), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1744), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1388), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1736), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1740), 0u); { const std::uint32_t aot_run_words[6]{0u, 0u, 0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(ctx.gpr[22] + static_cast(1748), aot_run_words); } aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1940), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1944), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2256), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (16752u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2264), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2260), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(2274), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1300), 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); } { 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[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(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[22] | 0u); aot_gpr_31 = (0x08913938u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08910218; L_08913938: aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1932), static_cast(0u)); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1332), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2060), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1150), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1104), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1116), 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); } { 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[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); goto L_0891397C; L_0891397C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(908), 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_6 = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_0891397C; } goto L_08913990; } L_08913990: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1028), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(940), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1136), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1024), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1128), 0u); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(904), static_cast(0u)); aot_gpr_16 = (0u + static_cast(-1)); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(906), static_cast(0u)); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1140), static_cast(aot_gpr_16)); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1142), static_cast(0u)); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1144), static_cast(0u)); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1146), static_cast(0u)); aot_gpr_31 = (0x089139C8u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089139C8u) goto L_089139C8; AOT_REGCACHE_SYNC_OUT(); return; L_089139C8: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089139D4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 885u, 0x0890FF54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089139D4u) goto L_089139D4; AOT_REGCACHE_SYNC_OUT(); return; L_089139D4: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1248), 0u); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1936), static_cast(0u)); aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1924), static_cast(aot_gpr_16)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1356), 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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(24)); aot_gpr_31 = (0x08913A0Cu); aot_gpr_4 = (ctx.gpr[22] | 0u); goto L_089102D4; L_08913A0C: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1368), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1372), 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); } { 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_mem.aot_direct_load32(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_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2112), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2092), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2240), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2116), 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08913A48u); 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_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 == 0x08913A48u) goto L_08913A48; AOT_REGCACHE_SYNC_OUT(); return; L_08913A48: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08913A54u); 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 == 0x08913A54u) goto L_08913A54; AOT_REGCACHE_SYNC_OUT(); return; L_08913A54: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08913A60u); aot_gpr_5 = (0u | 0u); 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 == 0x08913A60u) goto L_08913A60; AOT_REGCACHE_SYNC_OUT(); return; L_08913A60: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08913A6Cu); aot_gpr_5 = (0u | 0u); goto L_08911138; L_08913A6C: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1712), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2076), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1716), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1720), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1328), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1392), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1364), 0u); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1928), static_cast(aot_gpr_16)); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1930), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1900), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1904), 0u); aot_gpr_31 = (0x08913AA0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913AA0u) goto L_08913AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08913AA0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20172))); aot_gpr_31 = (0x08913AB4u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20176))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913AB4u) goto L_08913AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08913AB4: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20164))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20168))); ctx.gpr[8] = (aot_gpr_4 + aot_gpr_6); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (ctx.gpr[9] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_4 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1908), aot_gpr_4); aot_gpr_4 = (17036u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(208), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(212), std::bit_cast(ctx.fpr[22])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(208))); aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(220), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(224), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1772), 0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1776), 0u); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(1926), static_cast(aot_gpr_16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(476))); aot_gpr_5 = (0u + static_cast(-193)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(476), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-5)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_5 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_5); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_6 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[7] = (0u + static_cast(-17)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[8] = (0u + static_cast(-33)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[9] = (0u + static_cast(-65)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[9]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[10] = (0u + static_cast(-129)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[10]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[11] = (0u + static_cast(-257)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[11]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[10]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); ctx.gpr[2] = (32768u << 16u); ctx.gpr[2] = (ctx.gpr[2] + static_cast(-1)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[2]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(476))); ctx.gpr[3] = (0u + static_cast(-513)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[3]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(476), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[3]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[12] = (0u + static_cast(-1025)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[12]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[13] = (0u + static_cast(-2049)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[13]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[14] = (0u + static_cast(-4097)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[14]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); aot_gpr_6 = (0u + static_cast(-8193)); ctx.gpr[15] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[15] = (ctx.gpr[15] & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[15]); ctx.gpr[15] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[24] = (0u + static_cast(-16385)); ctx.gpr[15] = (ctx.gpr[15] & ctx.gpr[24]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[15]); ctx.gpr[15] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[25] = (65535u << 16u); ctx.gpr[25] = (ctx.gpr[25] + static_cast(32767)); ctx.gpr[15] = (ctx.gpr[15] & ctx.gpr[25]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[15]); ctx.gpr[15] = (65535u << 16u); ctx.gpr[15] = (ctx.gpr[15] + static_cast(-1)); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[15]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(468))); aot_gpr_16 = (51200u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(468), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_16 = (65534u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[17] = (4u << 16u); aot_gpr_31 = (aot_gpr_31 | ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[17] = (8u << 16u); aot_gpr_31 = (aot_gpr_31 | ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[17] = (65520u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[18] = (65504u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[19] = (65472u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[19]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[20] = (65408u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[20]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[21] = (65280u << 16u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(304)))))); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[30]); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(304), static_cast(aot_gpr_31)); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[9] = (64512u << 16u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[9]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[8] = (63488u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[7] = (61440u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_5 = (57344u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_31 = (aot_gpr_31 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (49152u << 16u); aot_gpr_31 = (aot_gpr_31 + static_cast(-1)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_31); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[10]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[11]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[3]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[12]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[13]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[14]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[24]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); ctx.gpr[13] = (0u + static_cast(-12289)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[13]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[25]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[15]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); ctx.gpr[13] = (65532u << 16u); ctx.gpr[13] = (ctx.gpr[13] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[13]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[20]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (512u << 16u); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (ctx.gpr[21] | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[9]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[2]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); ctx.gpr[21] = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); ctx.gpr[21] = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); ctx.gpr[21] = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); ctx.gpr[21] = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_31 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_31); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[10]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_31); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[11]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[3]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[12]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[14]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[2]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); ctx.gpr[14] = (0u + static_cast(-29)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[14]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[25]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(476))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(476), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(476))); aot_gpr_4 = (aot_gpr_4 | 16u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(476), aot_gpr_4); ctx.pc = 0x08914000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0067(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0067_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_67(Runtime &runtime) { runtime.register_generated_unit(67u, 0x08910000u, 16384u, &recomp_unit_0067, &recomp_unit_0067_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x08910000u, &recomp_unit_0067, "recomp_unit_0067", kEntryMasks_recomp_unit_0067, 59u); } } // namespace psprecomp