#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_0204[64] = { 0x2D0A2820000800C1ull, 0x800C10A802002005ull, 0x0086829A14510000ull, 0x2951414A1428A004ull, 0xB000000102410250ull, 0x0001158000000812ull, 0x4011502080000000ull, 0x3592804AB2500926ull, 0x15AC940255928049ull, 0x88C8A162A0244644ull, 0x9024080B15446004ull, 0x0800508400000004ull, 0x2492491004400AA1ull, 0x0004084000100549ull, 0x2485122228268514ull, 0x4801000844840A40ull, 0x8A01000040D12869ull, 0x0120521141249342ull, 0x444950A240800020ull, 0x943401001002948Cull, 0x000052A408008102ull, 0x0828200508000000ull, 0x2D55420108000841ull, 0x5AAA820104000410ull, 0xAA02102445555540ull, 0x12A808A80420244Aull, 0x88AAAA022A010809ull, 0x5402101225404204ull, 0x122282AAA2555404ull, 0x5402101225448108ull, 0x1109000000000004ull, 0x4489224489111111ull, 0xA449224489244922ull, 0xA24A81892A562002ull, 0x94495031254A1254ull, 0x001509251254A24Aull, 0x9091000000020000ull, 0x2000244890909090ull, 0x4889244924122280ull, 0xA25444081A912490ull, 0x8102001128942852ull, 0x104521148A9242C0ull, 0xAAAAAAAAA0841209ull, 0x000000000010AAAAull, 0x5112022404240424ull, 0x0000A44444412245ull, 0x8400212141200800ull, 0x15500002AAAAAAA0ull, 0x108444A015200155ull, 0x22554008212A8214ull, 0x5555052AA8010812ull, 0x1554AA14A0814015ull, 0x8295601514514A82ull, 0xA082AAA0AAAAAAAAull, 0xAC514514994A5294ull, 0x000000088B49529Aull, 0x0000000000000000ull, 0x0C00000020000000ull, 0x0000000023000000ull, 0x0040000000000080ull, 0x94A0800000440082ull, 0x4554284540004000ull, 0x0244A0090A115428ull, 0x2A02000556AA8042ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0204[64] = { 1u, 14u, 25u, 39u, 57u, 67u, 75u, 82u, 104u, 126u, 146u, 162u, 168u, 184u, 193u, 212u, 223u, 238u, 255u, 268u, 283u, 293u, 300u, 315u, 329u, 349u, 365u, 383u, 397u, 418u, 433u, 438u, 456u, 476u, 496u, 518u, 537u, 543u, 556u, 573u, 592u, 607u, 625u, 649u, 658u, 672u, 686u, 696u, 716u, 732u, 749u, 769u, 789u, 810u, 836u, 861u, 876u, 876u, 879u, 882u, 884u, 894u, 907u, 923u, }; void recomp_unit_0204_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,16,6,29,31 fprs=12,13,14,15 gpr_occ=3623 fpr_occ=1025 gpr_total=4792 fpr_total=1304 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; 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[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } 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_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } 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 - 0x08B34004u; entry_id = 0u; if (entry_delta < 16376u && (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_0204[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_0204[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_08B34004; case 2u: goto L_08B3401C; case 3u: goto L_08B34020; case 4u: goto L_08B34050; case 5u: goto L_08B34098; case 6u: goto L_08B340B0; case 7u: goto L_08B340B8; case 8u: goto L_08B340C8; case 9u: goto L_08B340D0; case 10u: goto L_08B340E4; case 11u: goto L_08B340EC; case 12u: goto L_08B340F0; case 13u: goto L_08B340F8; case 14u: goto L_08B34104; case 15u: goto L_08B3410C; case 16u: goto L_08B34138; case 17u: goto L_08B34168; case 18u: goto L_08B34190; case 19u: goto L_08B34198; case 20u: goto L_08B341A0; case 21u: goto L_08B341B4; case 22u: goto L_08B341CC; case 23u: goto L_08B341D0; case 24u: goto L_08B34200; case 25u: goto L_08B34244; case 26u: goto L_08B34254; case 27u: goto L_08B3425C; case 28u: goto L_08B3426C; case 29u: goto L_08B34274; case 30u: goto L_08B34288; case 31u: goto L_08B34290; case 32u: goto L_08B34294; case 33u: goto L_08B342A0; case 34u: goto L_08B342A8; case 35u: goto L_08B342C0; case 36u: goto L_08B342C8; case 37u: goto L_08B342CC; case 38u: goto L_08B342E0; case 39u: goto L_08B3430C; case 40u: goto L_08B34338; case 41u: goto L_08B34340; case 42u: goto L_08B34350; case 43u: goto L_08B34358; case 44u: goto L_08B3436C; case 45u: goto L_08B34374; case 46u: goto L_08B34388; case 47u: goto L_08B34390; case 48u: goto L_08B3439C; case 49u: goto L_08B343A4; case 50u: goto L_08B343BC; case 51u: goto L_08B343C4; case 52u: goto L_08B343D4; case 53u: goto L_08B343DC; case 54u: goto L_08B343E4; case 55u: goto L_08B343F0; case 56u: goto L_08B343F8; case 57u: goto L_08B34414; case 58u: goto L_08B3441C; case 59u: goto L_08B34428; case 60u: goto L_08B34444; case 61u: goto L_08B3445C; case 62u: goto L_08B34468; case 63u: goto L_08B34484; case 64u: goto L_08B344F4; case 65u: goto L_08B344F8; case 66u: goto L_08B34500; case 67u: goto L_08B34508; case 68u: goto L_08B34514; case 69u: goto L_08B34530; case 70u: goto L_08B345A0; case 71u: goto L_08B345A4; case 72u: goto L_08B345AC; case 73u: goto L_08B345B4; case 74u: goto L_08B345C4; case 75u: goto L_08B34680; case 76u: goto L_08B34698; case 77u: goto L_08B346B4; case 78u: goto L_08B346BC; case 79u: goto L_08B346C4; case 80u: goto L_08B346D4; case 81u: goto L_08B346FC; case 82u: goto L_08B34708; case 83u: goto L_08B3470C; case 84u: goto L_08B34718; case 85u: goto L_08B34724; case 86u: goto L_08B34730; case 87u: goto L_08B34754; case 88u: goto L_08B3475C; case 89u: goto L_08B34768; case 90u: goto L_08B34774; case 91u: goto L_08B34778; case 92u: goto L_08B34780; case 93u: goto L_08B34788; case 94u: goto L_08B34790; case 95u: goto L_08B3479C; case 96u: goto L_08B347C0; case 97u: goto L_08B347C8; case 98u: goto L_08B347D4; case 99u: goto L_08B347E0; case 100u: goto L_08B347E4; case 101u: goto L_08B347EC; case 102u: goto L_08B347F4; case 103u: goto L_08B347F8; case 104u: goto L_08B34804; case 105u: goto L_08B34810; case 106u: goto L_08B3481C; case 107u: goto L_08B34840; case 108u: goto L_08B34848; case 109u: goto L_08B34854; case 110u: goto L_08B34860; case 111u: goto L_08B34864; case 112u: goto L_08B3486C; case 113u: goto L_08B34874; case 114u: goto L_08B3487C; case 115u: goto L_08B34888; case 116u: goto L_08B348AC; case 117u: goto L_08B348B4; case 118u: goto L_08B348C0; case 119u: goto L_08B348CC; case 120u: goto L_08B348D0; case 121u: goto L_08B348D8; case 122u: goto L_08B348E0; case 123u: goto L_08B348E4; case 124u: goto L_08B348EC; case 125u: goto L_08B348F4; case 126u: goto L_08B3490C; case 127u: goto L_08B3491C; case 128u: goto L_08B34928; case 129u: goto L_08B3492C; case 130u: goto L_08B3493C; case 131u: goto L_08B3494C; case 132u: goto L_08B34958; case 133u: goto L_08B34978; case 134u: goto L_08B34980; case 135u: goto L_08B34988; case 136u: goto L_08B34998; case 137u: goto L_08B3499C; case 138u: goto L_08B349A4; case 139u: goto L_08B349B8; case 140u: goto L_08B349C0; case 141u: goto L_08B349D0; case 142u: goto L_08B349DC; case 143u: goto L_08B349E0; case 144u: goto L_08B349F0; case 145u: goto L_08B34A00; case 146u: goto L_08B34A0C; case 147u: goto L_08B34A38; case 148u: goto L_08B34A3C; case 149u: goto L_08B34A4C; case 150u: goto L_08B34A5C; case 151u: goto L_08B34A64; case 152u: goto L_08B34A6C; case 153u: goto L_08B34A74; case 154u: goto L_08B34A84; case 155u: goto L_08B34A88; case 156u: goto L_08B34A90; case 157u: goto L_08B34AB0; case 158u: goto L_08B34ACC; case 159u: goto L_08B34AD8; case 160u: goto L_08B34AF4; case 161u: goto L_08B34B00; case 162u: goto L_08B34B0C; case 163u: goto L_08B34B8C; case 164u: goto L_08B34BA0; case 165u: goto L_08B34BB4; case 166u: goto L_08B34BBC; case 167u: goto L_08B34BF0; case 168u: goto L_08B34C04; case 169u: goto L_08B34C18; case 170u: goto L_08B34C20; case 171u: goto L_08B34C28; case 172u: goto L_08B34C30; case 173u: goto L_08B34C5C; case 174u: goto L_08B34C6C; case 175u: goto L_08B34C94; case 176u: goto L_08B34CA4; case 177u: goto L_08B34CB0; case 178u: goto L_08B34CBC; case 179u: goto L_08B34CC8; case 180u: goto L_08B34CD4; case 181u: goto L_08B34CE0; case 182u: goto L_08B34CEC; case 183u: goto L_08B34CF8; case 184u: goto L_08B34D04; case 185u: goto L_08B34D10; case 186u: goto L_08B34D1C; case 187u: goto L_08B34D24; case 188u: goto L_08B34D2C; case 189u: goto L_08B34D54; case 190u: goto L_08B34D9C; case 191u: goto L_08B34DB0; case 192u: goto L_08B34DCC; case 193u: goto L_08B34E0C; case 194u: goto L_08B34E14; case 195u: goto L_08B34E24; case 196u: goto L_08B34E2C; case 197u: goto L_08B34E40; case 198u: goto L_08B34E48; case 199u: goto L_08B34E4C; case 200u: goto L_08B34E58; case 201u: goto L_08B34E70; case 202u: goto L_08B34E78; case 203u: goto L_08B34E88; case 204u: goto L_08B34E98; case 205u: goto L_08B34EA8; case 206u: goto L_08B34EB4; case 207u: goto L_08B34EC4; case 208u: goto L_08B34ECC; case 209u: goto L_08B34EE0; case 210u: goto L_08B34EEC; case 211u: goto L_08B34EF8; case 212u: goto L_08B34F1C; case 213u: goto L_08B34F28; case 214u: goto L_08B34F30; case 215u: goto L_08B34F4C; case 216u: goto L_08B34F60; case 217u: goto L_08B34F6C; case 218u: goto L_08B34F7C; case 219u: goto L_08B34F90; case 220u: goto L_08B34FC4; case 221u: goto L_08B34FF0; case 222u: goto L_08B34FFC; case 223u: goto L_08B35004; case 224u: goto L_08B35010; case 225u: goto L_08B35018; case 226u: goto L_08B3501C; case 227u: goto L_08B35030; case 228u: goto L_08B35038; case 229u: goto L_08B35044; case 230u: goto L_08B35054; case 231u: goto L_08B3505C; case 232u: goto L_08B35060; case 233u: goto L_08B3507C; case 234u: goto L_08B350C4; case 235u: goto L_08B350E8; case 236u: goto L_08B350F0; case 237u: goto L_08B35100; case 238u: goto L_08B35108; case 239u: goto L_08B3511C; case 240u: goto L_08B35124; case 241u: goto L_08B35128; case 242u: goto L_08B35134; case 243u: goto L_08B35140; case 244u: goto L_08B3514C; case 245u: goto L_08B35158; case 246u: goto L_08B35164; case 247u: goto L_08B3517C; case 248u: goto L_08B35184; case 249u: goto L_08B35194; case 250u: goto L_08B351A8; case 251u: goto L_08B351B4; case 252u: goto L_08B351BC; case 253u: goto L_08B351D8; case 254u: goto L_08B351E4; case 255u: goto L_08B35218; case 256u: goto L_08B35260; case 257u: goto L_08B3527C; case 258u: goto L_08B35288; case 259u: goto L_08B35298; case 260u: goto L_08B352A0; case 261u: goto L_08B352B4; case 262u: goto L_08B352BC; case 263u: goto L_08B352C4; case 264u: goto L_08B352D0; case 265u: goto L_08B352DC; case 266u: goto L_08B352EC; case 267u: goto L_08B352FC; case 268u: goto L_08B3530C; case 269u: goto L_08B35310; case 270u: goto L_08B35320; case 271u: goto L_08B3532C; case 272u: goto L_08B35334; case 273u: goto L_08B35340; case 274u: goto L_08B35348; case 275u: goto L_08B35374; case 276u: goto L_08B353A4; case 277u: goto L_08B353CC; case 278u: goto L_08B353D4; case 279u: goto L_08B353D8; case 280u: goto L_08B353EC; case 281u: goto L_08B353F4; case 282u: goto L_08B35400; case 283u: goto L_08B35408; case 284u: goto L_08B35424; case 285u: goto L_08B35440; case 286u: goto L_08B35470; case 287u: goto L_08B3548C; case 288u: goto L_08B35498; case 289u: goto L_08B354A0; case 290u: goto L_08B354A8; case 291u: goto L_08B354B4; case 292u: goto L_08B354BC; case 293u: goto L_08B35570; case 294u: goto L_08B35584; case 295u: goto L_08B3558C; case 296u: goto L_08B355B8; case 297u: goto L_08B355D0; case 298u: goto L_08B355D8; case 299u: goto L_08B355F0; case 300u: goto L_08B35604; case 301u: goto L_08B3561C; case 302u: goto L_08B35630; case 303u: goto L_08B35670; case 304u: goto L_08B35684; case 305u: goto L_08B356A8; case 306u: goto L_08B356BC; case 307u: goto L_08B356C4; case 308u: goto L_08B356CC; case 309u: goto L_08B356D4; case 310u: goto L_08B356DC; case 311u: goto L_08B356E4; case 312u: goto L_08B356EC; case 313u: goto L_08B356F0; case 314u: goto L_08B356F8; case 315u: goto L_08B35714; case 316u: goto L_08B3572C; case 317u: goto L_08B3576C; case 318u: goto L_08B35784; case 319u: goto L_08B357A8; case 320u: goto L_08B357C0; case 321u: goto L_08B357C8; case 322u: goto L_08B357D0; case 323u: goto L_08B357D8; case 324u: goto L_08B357E0; case 325u: goto L_08B357E8; case 326u: goto L_08B357F0; case 327u: goto L_08B357F4; case 328u: goto L_08B357FC; case 329u: goto L_08B3581C; case 330u: goto L_08B35824; case 331u: goto L_08B3582C; case 332u: goto L_08B35834; case 333u: goto L_08B3583C; case 334u: goto L_08B35844; case 335u: goto L_08B3584C; case 336u: goto L_08B35854; case 337u: goto L_08B3585C; case 338u: goto L_08B35864; case 339u: goto L_08B3586C; case 340u: goto L_08B3587C; case 341u: goto L_08B3588C; case 342u: goto L_08B35898; case 343u: goto L_08B358B4; case 344u: goto L_08B358C8; case 345u: goto L_08B358E8; case 346u: goto L_08B358F0; case 347u: goto L_08B358F8; case 348u: goto L_08B35900; case 349u: goto L_08B35908; case 350u: goto L_08B35910; case 351u: goto L_08B3591C; case 352u: goto L_08B3592C; case 353u: goto L_08B35938; case 354u: goto L_08B35958; case 355u: goto L_08B3596C; case 356u: goto L_08B35990; case 357u: goto L_08B35998; case 358u: goto L_08B359A0; case 359u: goto L_08B359B0; case 360u: goto L_08B359D0; case 361u: goto L_08B359D8; case 362u: goto L_08B359E0; case 363u: goto L_08B359E8; case 364u: goto L_08B359F4; case 365u: goto L_08B35A04; case 366u: goto L_08B35A10; case 367u: goto L_08B35A30; case 368u: goto L_08B35A44; case 369u: goto L_08B35A68; case 370u: goto L_08B35A70; case 371u: goto L_08B35A78; case 372u: goto L_08B35A88; case 373u: goto L_08B35AA8; case 374u: goto L_08B35AB0; case 375u: goto L_08B35AB8; case 376u: goto L_08B35AC0; case 377u: goto L_08B35AC8; case 378u: goto L_08B35AD0; case 379u: goto L_08B35AD8; case 380u: goto L_08B35AE0; case 381u: goto L_08B35AF0; case 382u: goto L_08B35B00; case 383u: goto L_08B35B0C; case 384u: goto L_08B35B28; case 385u: goto L_08B35B3C; case 386u: goto L_08B35B5C; case 387u: goto L_08B35B64; case 388u: goto L_08B35B6C; case 389u: goto L_08B35B78; case 390u: goto L_08B35B88; case 391u: goto L_08B35B94; case 392u: goto L_08B35BB4; case 393u: goto L_08B35BC8; case 394u: goto L_08B35BEC; case 395u: goto L_08B35BF4; case 396u: goto L_08B35BFC; case 397u: goto L_08B35C0C; case 398u: goto L_08B35C2C; case 399u: goto L_08B35C34; case 400u: goto L_08B35C3C; case 401u: goto L_08B35C44; case 402u: goto L_08B35C4C; case 403u: goto L_08B35C54; case 404u: goto L_08B35C5C; case 405u: goto L_08B35C68; case 406u: goto L_08B35C78; case 407u: goto L_08B35C80; case 408u: goto L_08B35C88; case 409u: goto L_08B35C90; case 410u: goto L_08B35C98; case 411u: goto L_08B35CA0; case 412u: goto L_08B35CA8; case 413u: goto L_08B35CC0; case 414u: goto L_08B35CC8; case 415u: goto L_08B35CD8; case 416u: goto L_08B35CE8; case 417u: goto L_08B35CF4; case 418u: goto L_08B35D10; case 419u: goto L_08B35D24; case 420u: goto L_08B35D40; case 421u: goto L_08B35D4C; case 422u: goto L_08B35D5C; case 423u: goto L_08B35D64; case 424u: goto L_08B35D6C; case 425u: goto L_08B35D78; case 426u: goto L_08B35D88; case 427u: goto L_08B35D94; case 428u: goto L_08B35DB4; case 429u: goto L_08B35DC8; case 430u: goto L_08B35DEC; case 431u: goto L_08B35DF4; case 432u: goto L_08B35DFC; case 433u: goto L_08B35E0C; case 434u: goto L_08B35EC4; case 435u: goto L_08B35ED0; case 436u: goto L_08B35EE4; case 437u: goto L_08B35EF4; case 438u: goto L_08B35F04; case 439u: goto L_08B35F14; case 440u: goto L_08B35F24; case 441u: goto L_08B35F34; case 442u: goto L_08B35F44; case 443u: goto L_08B35F54; case 444u: goto L_08B35F64; case 445u: goto L_08B35F70; case 446u: goto L_08B35F80; case 447u: goto L_08B35F8C; case 448u: goto L_08B35F9C; case 449u: goto L_08B35FA8; case 450u: goto L_08B35FB8; case 451u: goto L_08B35FC4; case 452u: goto L_08B35FD0; case 453u: goto L_08B35FE0; case 454u: goto L_08B35FEC; case 455u: goto L_08B35FFC; case 456u: goto L_08B36008; case 457u: goto L_08B36018; case 458u: goto L_08B36024; case 459u: goto L_08B36030; case 460u: goto L_08B3603C; case 461u: goto L_08B3604C; case 462u: goto L_08B36058; case 463u: goto L_08B36064; case 464u: goto L_08B36070; case 465u: goto L_08B36080; case 466u: goto L_08B3608C; case 467u: goto L_08B3609C; case 468u: goto L_08B360A8; case 469u: goto L_08B360B8; case 470u: goto L_08B360C4; case 471u: goto L_08B360D0; case 472u: goto L_08B360DC; case 473u: goto L_08B360EC; case 474u: goto L_08B360F8; case 475u: goto L_08B36100; case 476u: goto L_08B36108; case 477u: goto L_08B36138; case 478u: goto L_08B36148; case 479u: goto L_08B3614C; case 480u: goto L_08B36154; case 481u: goto L_08B3615C; case 482u: goto L_08B36168; case 483u: goto L_08B36170; case 484u: goto L_08B36178; case 485u: goto L_08B36184; case 486u: goto L_08B36190; case 487u: goto L_08B361A0; case 488u: goto L_08B361A4; case 489u: goto L_08B361C0; case 490u: goto L_08B361C8; case 491u: goto L_08B361D0; case 492u: goto L_08B361DC; case 493u: goto L_08B361E8; case 494u: goto L_08B361F8; case 495u: goto L_08B36200; case 496u: goto L_08B3620C; case 497u: goto L_08B36214; case 498u: goto L_08B3621C; case 499u: goto L_08B36228; case 500u: goto L_08B36234; case 501u: goto L_08B36248; case 502u: goto L_08B36250; case 503u: goto L_08B3625C; case 504u: goto L_08B36264; case 505u: goto L_08B3626C; case 506u: goto L_08B36278; case 507u: goto L_08B36284; case 508u: goto L_08B36294; case 509u: goto L_08B36298; case 510u: goto L_08B362B4; case 511u: goto L_08B362BC; case 512u: goto L_08B362C4; case 513u: goto L_08B362D0; case 514u: goto L_08B362DC; case 515u: goto L_08B362EC; case 516u: goto L_08B362F4; case 517u: goto L_08B36300; case 518u: goto L_08B36308; case 519u: goto L_08B36310; case 520u: goto L_08B3631C; case 521u: goto L_08B36328; case 522u: goto L_08B36338; case 523u: goto L_08B36340; case 524u: goto L_08B3634C; case 525u: goto L_08B36354; case 526u: goto L_08B3635C; case 527u: goto L_08B36368; case 528u: goto L_08B36374; case 529u: goto L_08B36384; case 530u: goto L_08B3638C; case 531u: goto L_08B36398; case 532u: goto L_08B363A4; case 533u: goto L_08B363B0; case 534u: goto L_08B363C4; case 535u: goto L_08B363CC; case 536u: goto L_08B363D4; case 537u: goto L_08B36448; case 538u: goto L_08B364C4; case 539u: goto L_08B364D4; case 540u: goto L_08B364E0; case 541u: goto L_08B364F4; case 542u: goto L_08B36500; case 543u: goto L_08B36514; case 544u: goto L_08B36520; case 545u: goto L_08B36534; case 546u: goto L_08B36540; case 547u: goto L_08B36554; case 548u: goto L_08B36560; case 549u: goto L_08B36574; case 550u: goto L_08B36580; case 551u: goto L_08B36590; case 552u: goto L_08B3659C; case 553u: goto L_08B365AC; case 554u: goto L_08B365B8; case 555u: goto L_08B365F8; case 556u: goto L_08B36620; case 557u: goto L_08B36628; case 558u: goto L_08B36638; case 559u: goto L_08B36648; case 560u: goto L_08B36654; case 561u: goto L_08B3666C; case 562u: goto L_08B36678; case 563u: goto L_08B36684; case 564u: goto L_08B36690; case 565u: goto L_08B3669C; case 566u: goto L_08B366AC; case 567u: goto L_08B366B8; case 568u: goto L_08B366C4; case 569u: goto L_08B366D0; case 570u: goto L_08B366E0; case 571u: goto L_08B366F0; case 572u: goto L_08B366FC; case 573u: goto L_08B36714; case 574u: goto L_08B36720; case 575u: goto L_08B3672C; case 576u: goto L_08B36738; case 577u: goto L_08B36744; case 578u: goto L_08B36754; case 579u: goto L_08B36760; case 580u: goto L_08B36768; case 581u: goto L_08B36770; case 582u: goto L_08B36774; case 583u: goto L_08B36790; case 584u: goto L_08B367AC; case 585u: goto L_08B367BC; case 586u: goto L_08B367CC; case 587u: goto L_08B367D4; case 588u: goto L_08B367DC; case 589u: goto L_08B367E8; case 590u: goto L_08B367F8; case 591u: goto L_08B36800; case 592u: goto L_08B36808; case 593u: goto L_08B36814; case 594u: goto L_08B3681C; case 595u: goto L_08B36830; case 596u: goto L_08B36838; case 597u: goto L_08B3684C; case 598u: goto L_08B36854; case 599u: goto L_08B36860; case 600u: goto L_08B36870; case 601u: goto L_08B36878; case 602u: goto L_08B36884; case 603u: goto L_08B36894; case 604u: goto L_08B368C8; case 605u: goto L_08B368E4; case 606u: goto L_08B36900; case 607u: goto L_08B3691C; case 608u: goto L_08B36920; case 609u: goto L_08B36928; case 610u: goto L_08B3693C; case 611u: goto L_08B36948; case 612u: goto L_08B36954; case 613u: goto L_08B36960; case 614u: goto L_08B36968; case 615u: goto L_08B36970; case 616u: goto L_08B36980; case 617u: goto L_08B3698C; case 618u: goto L_08B36994; case 619u: goto L_08B369A4; case 620u: goto L_08B369B8; case 621u: goto L_08B369C4; case 622u: goto L_08B369CC; case 623u: goto L_08B369DC; case 624u: goto L_08B369F4; case 625u: goto L_08B36A04; case 626u: goto L_08B36A10; case 627u: goto L_08B36A28; case 628u: goto L_08B36A34; case 629u: goto L_08B36A4C; case 630u: goto L_08B36A60; case 631u: goto L_08B36A78; case 632u: goto L_08B36A80; case 633u: goto L_08B36A88; case 634u: goto L_08B36A90; case 635u: goto L_08B36A98; case 636u: goto L_08B36AA0; case 637u: goto L_08B36AA8; case 638u: goto L_08B36AB0; case 639u: goto L_08B36AB8; case 640u: goto L_08B36AC0; case 641u: goto L_08B36AC8; case 642u: goto L_08B36AD0; case 643u: goto L_08B36AD8; case 644u: goto L_08B36AE0; case 645u: goto L_08B36AE8; case 646u: goto L_08B36AF0; case 647u: goto L_08B36AF8; case 648u: goto L_08B36B00; case 649u: goto L_08B36B08; case 650u: goto L_08B36B10; case 651u: goto L_08B36B18; case 652u: goto L_08B36B20; case 653u: goto L_08B36B28; case 654u: goto L_08B36B30; case 655u: goto L_08B36B38; case 656u: goto L_08B36B40; case 657u: goto L_08B36B54; case 658u: goto L_08B36C0C; case 659u: goto L_08B36C18; case 660u: goto L_08B36C2C; case 661u: goto L_08B36C4C; case 662u: goto L_08B36C58; case 663u: goto L_08B36C6C; case 664u: goto L_08B36C8C; case 665u: goto L_08B36C98; case 666u: goto L_08B36CA8; case 667u: goto L_08B36CC8; case 668u: goto L_08B36CD4; case 669u: goto L_08B36CE4; case 670u: goto L_08B36CF4; case 671u: goto L_08B36CFC; case 672u: goto L_08B36D04; case 673u: goto L_08B36D0C; case 674u: goto L_08B36D1C; case 675u: goto L_08B36D28; case 676u: goto L_08B36D38; case 677u: goto L_08B36D44; case 678u: goto L_08B36D5C; case 679u: goto L_08B36D6C; case 680u: goto L_08B36D7C; case 681u: goto L_08B36D8C; case 682u: goto L_08B36D9C; case 683u: goto L_08B36DAC; case 684u: goto L_08B36DB8; case 685u: goto L_08B36DC0; case 686u: goto L_08B36E30; case 687u: goto L_08B36E58; case 688u: goto L_08B36E64; case 689u: goto L_08B36E7C; case 690u: goto L_08B36E84; case 691u: goto L_08B36E98; case 692u: goto L_08B36EA4; case 693u: goto L_08B36EB8; case 694u: goto L_08B36EEC; case 695u: goto L_08B36F00; case 696u: goto L_08B36F18; case 697u: goto L_08B36F20; case 698u: goto L_08B36F28; case 699u: goto L_08B36F30; case 700u: goto L_08B36F38; case 701u: goto L_08B36F40; case 702u: goto L_08B36F48; case 703u: goto L_08B36F50; case 704u: goto L_08B36F58; case 705u: goto L_08B36F60; case 706u: goto L_08B36F68; case 707u: goto L_08B36F70; case 708u: goto L_08B36F78; case 709u: goto L_08B36F80; case 710u: goto L_08B36F88; case 711u: goto L_08B36FD4; case 712u: goto L_08B36FDC; case 713u: goto L_08B36FE4; case 714u: goto L_08B36FEC; case 715u: goto L_08B36FF4; case 716u: goto L_08B37004; case 717u: goto L_08B3700C; case 718u: goto L_08B37014; case 719u: goto L_08B3701C; case 720u: goto L_08B37024; case 721u: goto L_08B37058; case 722u: goto L_08B37064; case 723u: goto L_08B3706C; case 724u: goto L_08B37074; case 725u: goto L_08B37098; case 726u: goto L_08B370A0; case 727u: goto L_08B370AC; case 728u: goto L_08B370BC; case 729u: goto L_08B370CC; case 730u: goto L_08B370E0; case 731u: goto L_08B370F4; case 732u: goto L_08B3710C; case 733u: goto L_08B37114; case 734u: goto L_08B37128; case 735u: goto L_08B37140; case 736u: goto L_08B37148; case 737u: goto L_08B37150; case 738u: goto L_08B37158; case 739u: goto L_08B37164; case 740u: goto L_08B37178; case 741u: goto L_08B37190; case 742u: goto L_08B371BC; case 743u: goto L_08B371C4; case 744u: goto L_08B371CC; case 745u: goto L_08B371D4; case 746u: goto L_08B371DC; case 747u: goto L_08B371E8; case 748u: goto L_08B371F8; case 749u: goto L_08B37208; case 750u: goto L_08B37214; case 751u: goto L_08B37230; case 752u: goto L_08B37244; case 753u: goto L_08B37270; case 754u: goto L_08B37278; case 755u: goto L_08B37280; case 756u: goto L_08B37288; case 757u: goto L_08B37290; case 758u: goto L_08B37298; case 759u: goto L_08B372A4; case 760u: goto L_08B372AC; case 761u: goto L_08B372C4; case 762u: goto L_08B372CC; case 763u: goto L_08B372D4; case 764u: goto L_08B372DC; case 765u: goto L_08B372E4; case 766u: goto L_08B372EC; case 767u: goto L_08B372F4; case 768u: goto L_08B372FC; case 769u: goto L_08B37304; case 770u: goto L_08B3730C; case 771u: goto L_08B37314; case 772u: goto L_08B3733C; case 773u: goto L_08B37344; case 774u: goto L_08B37360; case 775u: goto L_08B37378; case 776u: goto L_08B37380; case 777u: goto L_08B3738C; case 778u: goto L_08B37394; case 779u: goto L_08B373A8; case 780u: goto L_08B373B0; case 781u: goto L_08B373B8; case 782u: goto L_08B373C0; case 783u: goto L_08B373CC; case 784u: goto L_08B373D4; case 785u: goto L_08B373DC; case 786u: goto L_08B373E4; case 787u: goto L_08B373EC; case 788u: goto L_08B373F4; case 789u: goto L_08B37408; case 790u: goto L_08B37420; case 791u: goto L_08B37428; case 792u: goto L_08B37430; case 793u: goto L_08B3743C; case 794u: goto L_08B37444; case 795u: goto L_08B37454; case 796u: goto L_08B3745C; case 797u: goto L_08B3746C; case 798u: goto L_08B37474; case 799u: goto L_08B37484; case 800u: goto L_08B3748C; case 801u: goto L_08B37494; case 802u: goto L_08B374B8; case 803u: goto L_08B374BC; case 804u: goto L_08B374C4; case 805u: goto L_08B374CC; case 806u: goto L_08B374D4; case 807u: goto L_08B374E0; case 808u: goto L_08B374E8; case 809u: goto L_08B37500; case 810u: goto L_08B37508; case 811u: goto L_08B37510; case 812u: goto L_08B37518; case 813u: goto L_08B37520; case 814u: goto L_08B37528; case 815u: goto L_08B37530; case 816u: goto L_08B37538; case 817u: goto L_08B37540; case 818u: goto L_08B37548; case 819u: goto L_08B37550; case 820u: goto L_08B37558; case 821u: goto L_08B37560; case 822u: goto L_08B37568; case 823u: goto L_08B37570; case 824u: goto L_08B37578; case 825u: goto L_08B37580; case 826u: goto L_08B37598; case 827u: goto L_08B375A0; case 828u: goto L_08B375A8; case 829u: goto L_08B375B0; case 830u: goto L_08B375B8; case 831u: goto L_08B375C0; case 832u: goto L_08B375C8; case 833u: goto L_08B375E0; case 834u: goto L_08B375F8; case 835u: goto L_08B37600; case 836u: goto L_08B3760C; case 837u: goto L_08B37614; case 838u: goto L_08B37620; case 839u: goto L_08B37628; case 840u: goto L_08B37634; case 841u: goto L_08B3763C; case 842u: goto L_08B37648; case 843u: goto L_08B37650; case 844u: goto L_08B3765C; case 845u: goto L_08B37664; case 846u: goto L_08B37670; case 847u: goto L_08B37674; case 848u: goto L_08B37680; case 849u: goto L_08B3768C; case 850u: goto L_08B37694; case 851u: goto L_08B376A4; case 852u: goto L_08B376AC; case 853u: goto L_08B376BC; case 854u: goto L_08B376C4; case 855u: goto L_08B376D4; case 856u: goto L_08B376DC; case 857u: goto L_08B376EC; case 858u: goto L_08B376F0; case 859u: goto L_08B376F8; case 860u: goto L_08B37700; case 861u: goto L_08B37708; case 862u: goto L_08B37710; case 863u: goto L_08B37714; case 864u: goto L_08B37720; case 865u: goto L_08B37728; case 866u: goto L_08B37734; case 867u: goto L_08B3773C; case 868u: goto L_08B37744; case 869u: goto L_08B37750; case 870u: goto L_08B3775C; case 871u: goto L_08B37764; case 872u: goto L_08B37768; case 873u: goto L_08B37770; case 874u: goto L_08B37780; case 875u: goto L_08B37790; case 876u: goto L_08B37978; case 877u: goto L_08B379EC; case 878u: goto L_08B379F0; case 879u: goto L_08B37A64; case 880u: goto L_08B37A68; case 881u: goto L_08B37A78; case 882u: goto L_08B37B20; case 883u: goto L_08B37BDC; case 884u: goto L_08B37C08; case 885u: goto L_08B37C20; case 886u: goto L_08B37C4C; case 887u: goto L_08B37C5C; case 888u: goto L_08B37CC0; case 889u: goto L_08B37CD8; case 890u: goto L_08B37CE0; case 891u: goto L_08B37CEC; case 892u: goto L_08B37CF4; case 893u: goto L_08B37D00; case 894u: goto L_08B37D3C; case 895u: goto L_08B37D7C; case 896u: goto L_08B37D84; case 897u: goto L_08B37D8C; case 898u: goto L_08B37D9C; case 899u: goto L_08B37DB0; case 900u: goto L_08B37DB8; case 901u: goto L_08B37DCC; case 902u: goto L_08B37DD4; case 903u: goto L_08B37DDC; case 904u: goto L_08B37DE4; case 905u: goto L_08B37DEC; case 906u: goto L_08B37DFC; case 907u: goto L_08B37E10; case 908u: goto L_08B37E18; case 909u: goto L_08B37E2C; case 910u: goto L_08B37E34; case 911u: goto L_08B37E3C; case 912u: goto L_08B37E44; case 913u: goto L_08B37E54; case 914u: goto L_08B37E68; case 915u: goto L_08B37E70; case 916u: goto L_08B37E84; case 917u: goto L_08B37E90; case 918u: goto L_08B37EB8; case 919u: goto L_08B37EC0; case 920u: goto L_08B37ECC; case 921u: goto L_08B37EDC; case 922u: goto L_08B37EE8; case 923u: goto L_08B37F08; case 924u: goto L_08B37F1C; case 925u: goto L_08B37F40; case 926u: goto L_08B37F48; case 927u: goto L_08B37F50; case 928u: goto L_08B37F58; case 929u: goto L_08B37F60; case 930u: goto L_08B37F68; case 931u: goto L_08B37F6C; case 932u: goto L_08B37F74; case 933u: goto L_08B37F7C; case 934u: goto L_08B37F84; case 935u: goto L_08B37F8C; case 936u: goto L_08B37FC8; case 937u: goto L_08B37FE8; case 938u: goto L_08B37FF0; case 939u: goto L_08B37FF8; 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_V813_SHARED_JR_DISPATCH: one dynamic-JR reject/redispatch path per unit. LOCAL_JR_DISPATCH: { const std::uint32_t local_delta_v813 = jump_target - 0x08B34004u; if (local_delta_v813 >= 16376u || (local_delta_v813 & 3u) != 0u) { ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); // PSPRECOMP_V814_CONTINUATION_RETURN Runtime::AotTailContinuation aot_cont_v814{}; if (rt.take_aot_tail_continuation(jump_target, aot_cont_v814)) { #if defined(__clang__) && defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) [[clang::musttail]] return aot_cont_v814.function( rt, ctx, aot_cont_v814.entry_id, aot_mem); #else aot_cont_v814.function(rt, ctx, aot_cont_v814.entry_id, aot_mem); return; #endif } return; } } local_pc = jump_target; entry_id = 0u; goto LOCAL_DISPATCH; // 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_08B34004: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_5 = (ctx.gpr[23] | 0u); ctx.gpr[23] = (aot_gpr_4 + static_cast(-1)); ctx.gpr[30] = (ctx.gpr[30] + static_cast(-3344)); { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[23]); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 807u, 0x08B33EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08B3401C; } L_08B3401C: ctx.gpr[2] = (0u | 0u); goto L_08B34020; L_08B34020: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34050: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); ctx.gpr[23] = (aot_gpr_4 + static_cast(-1)); { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[23]); if (branch_taken) { goto L_08B341CC; } goto L_08B34098; } L_08B34098: aot_gpr_4 = (ctx.gpr[23] << 5u); ctx.gpr[30] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); ctx.gpr[22] = (aot_gpr_29 + static_cast(32)); ctx.gpr[30] = (ctx.gpr[30] + aot_gpr_4); goto L_08B340B0; L_08B340B0: { const bool branch_taken = static_cast(ctx.gpr[23]) < 0; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); if (branch_taken) { goto L_08B340C8; } goto L_08B340B8; } L_08B340B8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (static_cast(ctx.gpr[23]) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); goto L_08B340D0; } goto L_08B340C8; L_08B340C8: { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_08B340F0; } goto L_08B340D0; } L_08B340D0: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[23]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); if (aot_gpr_5 == 0u) { ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08B340EC; } goto L_08B340E4; L_08B340E4: { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_08B340F0; } goto L_08B340EC; } L_08B340EC: ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[30]); goto L_08B340F0; L_08B340F0: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_08B341B4; } goto L_08B340F8; } L_08B340F8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B34104u); aot_gpr_5 = (ctx.gpr[20] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 14u, 0x08B34104u, 0x08B33710u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 735u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 735u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 735u, 0x08B33710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34104u) goto L_08B34104; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34104: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B341B4; } goto L_08B3410C; } L_08B3410C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { goto L_08B341B4; } goto L_08B34138; } L_08B34138: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); 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(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B34168u); aot_gpr_6 = (ctx.gpr[22] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 17u, 0x08B34168u, 0x08B32D3Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 611u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 611u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 611u, 0x08B32D3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34168u) goto L_08B34168; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34168: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B34190u); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08B356F8; L_08B34190: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B341A0; } goto L_08B34198; } L_08B34198: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08B341D0; } goto L_08B341A0; } L_08B341A0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(32)); if (branch_taken) { goto L_08B34138; } goto L_08B341B4; } L_08B341B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_5 = (ctx.gpr[23] | 0u); ctx.gpr[23] = (aot_gpr_4 + static_cast(-1)); ctx.gpr[30] = (ctx.gpr[30] + static_cast(-2080)); { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[23]); if (branch_taken) { goto L_08B340B0; } goto L_08B341CC; } L_08B341CC: ctx.gpr[2] = (0u | 0u); goto L_08B341D0; L_08B341D0: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(56), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34200: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[22]); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[21]); ctx.gpr[20] = (0u | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[21] = (ctx.gpr[19] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B342E0; } goto L_08B34244; } L_08B34244: aot_gpr_4 = (ctx.gpr[19] << 5u); ctx.gpr[18] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_4); goto L_08B34254; L_08B34254: { const bool branch_taken = static_cast(ctx.gpr[19]) < 0; if (branch_taken) { goto L_08B3426C; } goto L_08B3425C; } L_08B3425C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); goto L_08B34274; } goto L_08B3426C; L_08B3426C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08B34294; } goto L_08B34274; } L_08B34274: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); goto L_08B34290; } goto L_08B34288; L_08B34288: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08B34294; } goto L_08B34290; } L_08B34290: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); goto L_08B34294; L_08B34294: aot_gpr_4 = (aot_gpr_5 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B342CC; } goto L_08B342A0; } L_08B342A0: { const bool branch_taken = aot_gpr_5 == aot_gpr_16; if (branch_taken) { goto L_08B342CC; } goto L_08B342A8; } L_08B342A8: 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_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B342C0u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08B35604; L_08B342C0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B342CC; } goto L_08B342C8; } L_08B342C8: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); goto L_08B342CC; L_08B342CC: aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[19] = (ctx.gpr[21] + static_cast(-1)); ctx.gpr[21] = (ctx.gpr[19] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-2080)); if (branch_taken) { goto L_08B34254; } goto L_08B342E0; } L_08B342E0: ctx.gpr[2] = (ctx.gpr[20] | 0u); { std::uint32_t aot_run_words[8]{}; 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]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B3430C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); 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_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (aot_gpr_4 + static_cast(-1)); if (branch_taken) { goto L_08B34428; } goto L_08B34338; } L_08B34338: { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; if (branch_taken) { goto L_08B34350; } goto L_08B34340; } L_08B34340: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); goto L_08B34358; } goto L_08B34350; L_08B34350: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B34388; } goto L_08B34358; } L_08B34358: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[18] << 5u); if (branch_taken) { goto L_08B34374; } goto L_08B3436C; } L_08B3436C: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B34388; } goto L_08B34374; } L_08B34374: aot_gpr_5 = (0u + aot_gpr_4); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); goto L_08B34388; L_08B34388: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08B3441C; } goto L_08B34390; } L_08B34390: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B3439Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 48u, 0x08B3439Cu, 0x08B33710u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 735u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 735u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 735u, 0x08B33710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3439Cu) goto L_08B3439C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3439C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B3441C; } goto L_08B343A4; } L_08B343A4: 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_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B343BCu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08B35604; L_08B343BC: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B3441C; } goto L_08B343C4; } L_08B343C4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B3441C; } goto L_08B343D4; } L_08B343D4: aot_gpr_31 = (0x08B343DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 53u, 0x08B343DCu, 0x08AFF508u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 772u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 772u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 772u, 0x08AFF508u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B343DCu) goto L_08B343DC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B343DC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B3441C; } goto L_08B343E4; } L_08B343E4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B343F0u); aot_gpr_5 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 55u, 0x08B343F0u, 0x08891B8Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B343F0u) goto L_08B343F0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B343F0: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08B34414; } goto L_08B343F8; } L_08B343F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); 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 = (0x08B34414u); 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 == 0x08B34414u) goto L_08B34414; AOT_REGCACHE_SYNC_OUT(); return; L_08B34414: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B34428; } goto L_08B3441C; } L_08B3441C: aot_gpr_4 = (ctx.gpr[18] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); if (branch_taken) { goto L_08B34338; } goto L_08B34428; } L_08B34428: { 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)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34444: 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), aot_gpr_31); aot_gpr_31 = (0x08B3445Cu); aot_gpr_5 = (0u | 0u); goto L_08B346D4; L_08B3445C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B34508; } goto L_08B34468; } L_08B34468: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(148))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08B344F8; } goto L_08B34484; } L_08B34484: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); { 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_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_gpr_6 = (aot_gpr_5 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_fpr_12 = aot_fpr_12 + ctx.fpr[16]; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_31 = (0x08B344F4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08B345C4; L_08B344F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08B344F8; L_08B344F8: aot_gpr_31 = (0x08B34500u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0022. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 66u, 0x08B34500u, 0x0885FF14u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); #else recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34500u) goto L_08B34500; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34500: aot_gpr_31 = (0x08B34508u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0179. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 67u, 0x08B34508u, 0x08AD065Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 66u, aot_mem); #else recomp_unit_0179_entry(rt, ctx, 66u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34508u) goto L_08B34508; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34508: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B345B4; } goto L_08B34514; } L_08B34514: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(152))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (branch_taken) { goto L_08B345A4; } goto L_08B34530; } L_08B34530: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); { 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_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_gpr_6 = (aot_gpr_5 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_fpr_12 = aot_fpr_12 + ctx.fpr[16]; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_31 = (0x08B345A0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B345C4; L_08B345A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B345A4; L_08B345A4: aot_gpr_31 = (0x08B345ACu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0022. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 72u, 0x08B345ACu, 0x0885FF14u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); #else recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B345ACu) goto L_08B345AC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B345AC: aot_gpr_31 = (0x08B345B4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0179. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 73u, 0x08B345B4u, 0x08AD065Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 66u, aot_mem); #else recomp_unit_0179_entry(rt, ctx, 66u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B345B4u) goto L_08B345B4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B345B4: 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)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B345C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_4 = (49097u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(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_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const 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); } { 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); } { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(32), 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_5 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(40), std::bit_cast(aot_fpr_12)); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34680: 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), aot_gpr_31); aot_gpr_31 = (0x08B34698u); aot_gpr_5 = (0u | 0u); goto L_08B346D4; L_08B34698: aot_gpr_5 = (16585u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08B346B4u); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0022. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 77u, 0x08B346B4u, 0x0885F854u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 914u, aot_mem); #else recomp_unit_0022_entry(rt, ctx, 914u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 914u, 0x0885F854u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B346B4u) goto L_08B346B4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B346B4: aot_gpr_31 = (0x08B346BCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0022. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 78u, 0x08B346BCu, 0x0885FF14u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); #else recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B346BCu) goto L_08B346BC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B346BC: aot_gpr_31 = (0x08B346C4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0179. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 79u, 0x08B346C4u, 0x08AD065Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 66u, aot_mem); #else recomp_unit_0179_entry(rt, ctx, 66u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B346C4u) goto L_08B346C4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B346C4: 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)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B346D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[17] = (0u | 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; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08B34708; } goto L_08B346FC; } L_08B346FC: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(76))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B3470C; } goto L_08B34708; } L_08B34708: ctx.gpr[17] = (0u | 1u); goto L_08B3470C; L_08B3470C: ctx.gpr[17] = (ctx.gpr[17] & 255u); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(76), static_cast(0u)); if (branch_taken) { goto L_08B347F8; } goto L_08B34718; } L_08B34718: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(74))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B34790; } goto L_08B34724; } L_08B34724: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B34730u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15952))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 699u, 0x08B66EB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34730u) goto L_08B34730; AOT_REGCACHE_SYNC_OUT(); return; L_08B34730: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15952))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); 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_08B3475C; } goto L_08B34754; } L_08B34754: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B347F8; } goto L_08B3475C; } L_08B3475C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_31 = (0x08B34768u); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0219_entry, 219u, 582u, 0x08B72EA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34768u) goto L_08B34768; AOT_REGCACHE_SYNC_OUT(); return; L_08B34768: aot_gpr_5 = (ctx.gpr[2] & 127u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_5; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08B34778; } goto L_08B34774; } L_08B34774: ctx.gpr[17] = (0u | 1u); goto L_08B34778; L_08B34778: aot_gpr_31 = (0x08B34780u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 92u, 0x08B34780u, 0x0896DA80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 426u, 0x0896DA80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34780u) goto L_08B34780; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34780: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B347F8; } goto L_08B34788; } L_08B34788: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B347F8; } goto L_08B34790; } L_08B34790: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B3479Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 696u, 0x08B66E60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3479Cu) goto L_08B3479C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3479C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); 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_08B347C8; } goto L_08B347C0; } L_08B347C0: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B347F8; } goto L_08B347C8; } L_08B347C8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_31 = (0x08B347D4u); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 636u, 0x08B66A10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B347D4u) goto L_08B347D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B347D4: aot_gpr_5 = (ctx.gpr[2] & 127u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_5; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08B347E4; } goto L_08B347E0; } L_08B347E0: ctx.gpr[17] = (0u | 1u); goto L_08B347E4; L_08B347E4: aot_gpr_31 = (0x08B347ECu); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 101u, 0x08B347ECu, 0x0896DA80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 426u, 0x0896DA80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B347ECu) goto L_08B347EC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B347EC: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B347F8; } goto L_08B347F4; } L_08B347F4: ctx.gpr[17] = (0u | 1u); goto L_08B347F8; L_08B347F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B348E4; } goto L_08B34804; } L_08B34804: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(75))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B3487C; } goto L_08B34810; } L_08B34810: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B3481Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15952))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 699u, 0x08B66EB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3481Cu) goto L_08B3481C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3481C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15952))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); 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_08B34848; } goto L_08B34840; } L_08B34840: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B348E4; } goto L_08B34848; } L_08B34848: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08B34854u); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(73))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0219_entry, 219u, 582u, 0x08B72EA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34854u) goto L_08B34854; AOT_REGCACHE_SYNC_OUT(); return; L_08B34854: aot_gpr_5 = (ctx.gpr[2] & 127u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_5; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (branch_taken) { goto L_08B34864; } goto L_08B34860; } L_08B34860: ctx.gpr[17] = (0u | 1u); goto L_08B34864; L_08B34864: aot_gpr_31 = (0x08B3486Cu); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 112u, 0x08B3486Cu, 0x0896DA80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 426u, 0x0896DA80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3486Cu) goto L_08B3486C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3486C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B348E4; } goto L_08B34874; } L_08B34874: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B348E4; } goto L_08B3487C; } L_08B3487C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B34888u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 696u, 0x08B66E60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34888u) goto L_08B34888; AOT_REGCACHE_SYNC_OUT(); return; L_08B34888: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); 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_08B348B4; } goto L_08B348AC; } L_08B348AC: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B348E4; } goto L_08B348B4; } L_08B348B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08B348C0u); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(73))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 636u, 0x08B66A10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B348C0u) goto L_08B348C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B348C0: aot_gpr_5 = (ctx.gpr[2] & 127u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_5; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (branch_taken) { goto L_08B348D0; } goto L_08B348CC; } L_08B348CC: ctx.gpr[17] = (0u | 1u); goto L_08B348D0; L_08B348D0: aot_gpr_31 = (0x08B348D8u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 121u, 0x08B348D8u, 0x0896DA80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 426u, 0x0896DA80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B348D8u) goto L_08B348D8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B348D8: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B348E4; } goto L_08B348E0; } L_08B348E0: ctx.gpr[17] = (0u | 1u); goto L_08B348E4; L_08B348E4: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08B348F4; } goto L_08B348EC; } L_08B348EC: aot_gpr_31 = (0x08B348F4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B36B54; L_08B348F4: { 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)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B3490C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(61))); aot_gpr_6 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; if (branch_taken) { goto L_08B34928; } goto L_08B3491C; } L_08B3491C: ctx.gpr[8] = (0u | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (0u | 16u); if (branch_taken) { goto L_08B3492C; } goto L_08B34928; } L_08B34928: ctx.gpr[7] = (0u | 0u); goto L_08B3492C; L_08B3492C: aot_gpr_6 = (0u | 0u); aot_gpr_4 = (aot_gpr_6 < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[8] << 4u); if (branch_taken) { goto L_08B34998; } goto L_08B3493C; } L_08B3493C: ctx.gpr[9] = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(13712)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[9]); goto L_08B3494C; L_08B3494C: ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = ctx.gpr[9] != aot_gpr_5; if (branch_taken) { goto L_08B34988; } goto L_08B34958; } L_08B34958: aot_gpr_4 = (ctx.gpr[8] << 2u); aot_gpr_4 = (ctx.gpr[28] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-17312))); aot_gpr_5 = (0u | 1u); aot_gpr_5 = (aot_gpr_5 << (aot_gpr_6 & 31u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B34980; } goto L_08B34978; } L_08B34978: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B3499C; } goto L_08B34980; } L_08B34980: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08B3499C; } goto L_08B34988; } L_08B34988: aot_gpr_6 = (aot_gpr_6 + static_cast(1)); ctx.gpr[9] = (aot_gpr_6 < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_08B3494C; } goto L_08B34998; } L_08B34998: ctx.gpr[2] = (0u | 0u); goto L_08B3499C; L_08B3499C: jump_target = aot_gpr_31; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B349A4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(60))); aot_gpr_5 = (0u | 4u); aot_gpr_6 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_08B349B8; } goto L_08B349B8; L_08B349B8: jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_5 & 255u); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B349C0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(61))); aot_gpr_6 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; if (branch_taken) { goto L_08B349DC; } goto L_08B349D0; } L_08B349D0: ctx.gpr[7] = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 16u); if (branch_taken) { goto L_08B349E0; } goto L_08B349DC; } L_08B349DC: aot_gpr_6 = (0u | 0u); goto L_08B349E0; L_08B349E0: aot_gpr_4 = (0u | 0u); ctx.gpr[8] = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; ctx.gpr[8] = (ctx.gpr[7] << 4u); if (branch_taken) { goto L_08B34A84; } goto L_08B349F0; } L_08B349F0: ctx.gpr[9] = (2234u << 16u); ctx.gpr[8] = (ctx.gpr[8] << 2u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(13712)); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); goto L_08B34A00; L_08B34A00: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); { const bool branch_taken = ctx.gpr[9] != aot_gpr_5; if (branch_taken) { goto L_08B34A74; } goto L_08B34A0C; } L_08B34A0C: ctx.gpr[8] = (ctx.gpr[7] << 2u); ctx.gpr[8] = (ctx.gpr[28] + ctx.gpr[8]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(-17312))); ctx.gpr[7] = (0u | 1u); aot_gpr_4 = (ctx.gpr[7] << (aot_gpr_4 & 31u)); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(-17312), aot_gpr_4); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B34A6C; } goto L_08B34A38; } L_08B34A38: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(-17312))); goto L_08B34A3C; L_08B34A3C: ctx.gpr[8] = (ctx.gpr[7] << (aot_gpr_4 & 31u)); ctx.gpr[8] = (aot_gpr_5 & ctx.gpr[8]); { const bool branch_taken = ctx.gpr[8] == 0u; if (branch_taken) { goto L_08B34A64; } goto L_08B34A4C; } L_08B34A4C: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); ctx.gpr[8] = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; if (branch_taken) { goto L_08B34A3C; } goto L_08B34A5C; } L_08B34A5C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B34A6C; } goto L_08B34A64; } L_08B34A64: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B34A88; } goto L_08B34A6C; } L_08B34A6C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08B34A88; } goto L_08B34A74; } L_08B34A74: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); ctx.gpr[9] = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; ctx.gpr[8] = (ctx.gpr[8] + static_cast(4)); if (branch_taken) { goto L_08B34A00; } goto L_08B34A84; } L_08B34A84: ctx.gpr[2] = (0u | 0u); goto L_08B34A88; L_08B34A88: jump_target = aot_gpr_31; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34A90: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (19224u << 16u); aot_gpr_5 = (aot_gpr_5 | 38528u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[16])); { const bool branch_taken = aot_gpr_5 == 0u; aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_15)); if (branch_taken) { goto L_08B34ACC; } goto L_08B34AB0; } L_08B34AB0: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); ctx.fpr[16] = ctx.fpr[16] - aot_fpr_12; ctx.fpr[17] = ctx.fpr[17] - aot_fpr_13; { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[17]; goto L_08B34ACC; L_08B34ACC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B34AF4; } goto L_08B34AD8; } L_08B34AD8: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); aot_fpr_15 = aot_fpr_15 - aot_fpr_12; ctx.fpr[17] = ctx.fpr[17] - aot_fpr_13; { const float fs = aot_fpr_15; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_15 = aot_fpr_15 + ctx.fpr[17]; goto L_08B34AF4; L_08B34AF4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08B34B8C; } goto L_08B34B00; } L_08B34B00: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08B34B8C; } goto L_08B34B0C; } L_08B34B0C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (16128u << 16u); ctx.fpr[18] = std::bit_cast(aot_gpr_5); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_14 = aot_fpr_14 + ctx.fpr[17]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } aot_fpr_14 = aot_fpr_14 + ctx.fpr[19]; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); { const float fs = ctx.fpr[2]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[2] = std::bit_cast(0x7FC00000u); else ctx.fpr[2] = fs * ft; } ctx.fpr[17] = ctx.fpr[0] + ctx.fpr[2]; ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); { const float fs = ctx.fpr[1]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[19]; ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_14), std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[3])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } 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_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_fpr_13 = ctx.fpr[17] - aot_fpr_13; { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = aot_fpr_12 + aot_fpr_13; { const float fs = aot_fpr_14; const float ft = ctx.fpr[18]; 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; } goto L_08B34B8C; L_08B34B8C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_15)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[16])); goto L_08B34BA0; } goto L_08B34BA0; L_08B34BA0: ctx.fpr[0] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[0] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08B34BB4; } goto L_08B34BB4; L_08B34BB4: jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34BBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_6 & 255u); { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17]}; 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(36), aot_gpr_31); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B34D2C; } goto L_08B34BF0; } L_08B34BF0: aot_gpr_4 = (16128u << 16u); ctx.fpr[22] = std::bit_cast(0u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16800u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); goto L_08B34C04; L_08B34C04: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(84))); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-25492))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); if (branch_taken) { goto L_08B34D24; } goto L_08B34C18; } L_08B34C18: { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(84), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B34D24; } goto L_08B34C20; } L_08B34C20: aot_gpr_31 = (0x08B34C28u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 171u, 0x08B34C28u, 0x0896DA80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 426u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 426u, 0x0896DA80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34C28u) goto L_08B34C28; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34C28: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B34D24; } goto L_08B34C30; } L_08B34C30: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_08B34C5C; } goto L_08B34C5C; L_08B34C5C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B34D24; } goto L_08B34C6C; } L_08B34C6C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_08B34C94; } goto L_08B34C94; L_08B34C94: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B34D24; } goto L_08B34CA4; } L_08B34CA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B34CEC; } goto L_08B34CB0; } L_08B34CB0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[17]); { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(74), static_cast(ctx.gpr[19])); if (branch_taken) { goto L_08B34CD4; } goto L_08B34CBC; } L_08B34CBC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15952))); aot_gpr_31 = (0x08B34CC8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0219_entry, 219u, 582u, 0x08B72EA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34CC8u) goto L_08B34CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B34CC8: aot_gpr_4 = (ctx.gpr[2] & 127u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B34D24; } goto L_08B34CD4; } L_08B34CD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_31 = (0x08B34CE0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 636u, 0x08B66A10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34CE0u) goto L_08B34CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B34CE0: aot_gpr_4 = (ctx.gpr[2] & 127u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B34D24; } goto L_08B34CEC; } L_08B34CEC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(75), static_cast(ctx.gpr[19])); if (branch_taken) { goto L_08B34D10; } goto L_08B34CF8; } L_08B34CF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15952))); aot_gpr_31 = (0x08B34D04u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0219_entry, 219u, 582u, 0x08B72EA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34D04u) goto L_08B34D04; AOT_REGCACHE_SYNC_OUT(); return; L_08B34D04: aot_gpr_4 = (ctx.gpr[2] & 127u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(73), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B34D24; } goto L_08B34D10; } L_08B34D10: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_31 = (0x08B34D1Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 636u, 0x08B66A10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34D1Cu) goto L_08B34D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B34D1C: aot_gpr_4 = (ctx.gpr[2] & 127u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(73), static_cast(aot_gpr_4)); goto L_08B34D24; L_08B34D24: { const bool branch_taken = ctx.gpr[18] != 0u; if (branch_taken) { goto L_08B34C04; } goto L_08B34D2C; } L_08B34D2C: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); ctx.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(48)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34D54: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); ctx.gpr[7] = (aot_gpr_5 | 0u); ctx.gpr[8] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[8]); { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } goto L_08B34D9C; L_08B34D9C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_6 = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(48)); if (branch_taken) { goto L_08B34D9C; } goto L_08B34DB0; } L_08B34DB0: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[30] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B34F60; } goto L_08B34DCC; } L_08B34DCC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[7]); aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] << 5u); ctx.gpr[21] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_5 = (2238u << 16u); ctx.gpr[21] = (ctx.gpr[21] + aot_gpr_4); ctx.gpr[20] = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (16256u << 16u); ctx.gpr[23] = (aot_gpr_29 + static_cast(16)); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_5); ctx.gpr[20] = (ctx.gpr[7] + ctx.gpr[20]); goto L_08B34E0C; L_08B34E0C: { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; if (branch_taken) { goto L_08B34E24; } goto L_08B34E14; } L_08B34E14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); goto L_08B34E2C; } goto L_08B34E24; L_08B34E24: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B34E4C; } goto L_08B34E2C; } L_08B34E2C: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); goto L_08B34E48; } goto L_08B34E40; L_08B34E40: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B34E4C; } goto L_08B34E48; } L_08B34E48: ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[21]); goto L_08B34E4C; L_08B34E4C: aot_gpr_16 = (ctx.gpr[17] | 0u); { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_08B34F4C; } goto L_08B34E58; } L_08B34E58: 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); } { 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); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_31 = (0x08B34E70u); aot_gpr_5 = (ctx.gpr[23] | 0u); goto L_08B35604; L_08B34E70: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B34F4C; } goto L_08B34E78; } L_08B34E78: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B34E98; } goto L_08B34E88; } L_08B34E88: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B34F4C; } goto L_08B34E98; } L_08B34E98: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (0u | 4u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_08B34EA8; } goto L_08B34EA8; L_08B34EA8: aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_08B34EF8; } goto L_08B34EB4; L_08B34EB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08B34EC4u); aot_gpr_5 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 207u, 0x08B34EC4u, 0x08B338E8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 752u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 752u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 752u, 0x08B338E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34EC4u) goto L_08B34EC4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34EC4: if (ctx.gpr[2] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_08B34EF8; } goto L_08B34ECC; L_08B34ECC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); if (aot_gpr_4 == aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_08B34EF8; } goto L_08B34EE0; L_08B34EE0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B34EECu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08B35E0C; L_08B34EEC: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(48)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_08B34EF8; L_08B34EF8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x08B34F1Cu); aot_gpr_5 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 212u, 0x08B34F1Cu, 0x089616E8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 264u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 264u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 264u, 0x089616E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34F1Cu) goto L_08B34F1C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34F1C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B34F28u); aot_gpr_5 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 213u, 0x08B34F28u, 0x08891B8Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B34F28u) goto L_08B34F28; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B34F28: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08B34F4C; } goto L_08B34F30; } L_08B34F30: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); 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 = (0x08B34F4Cu); 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 == 0x08B34F4Cu) goto L_08B34F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B34F4C: aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[18] = (ctx.gpr[30] + static_cast(-1)); ctx.gpr[30] = (ctx.gpr[18] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[21] = (ctx.gpr[21] + static_cast(-2080)); if (branch_taken) { goto L_08B34E0C; } goto L_08B34F60; } L_08B34F60: aot_gpr_4 = (static_cast(ctx.gpr[19]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[19] << 4u); if (branch_taken) { goto L_08B34F90; } goto L_08B34F6C; } L_08B34F6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08B34F7C; L_08B34F7C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_5 = (static_cast(ctx.gpr[19]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(48)); if (branch_taken) { goto L_08B34F7C; } goto L_08B34F90; } L_08B34F90: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; ctx.gpr[30] = aot_run_words[9]; aot_gpr_31 = aot_run_words[10]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B34FC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 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), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); goto L_08B34FF0; L_08B34FF0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B3501C; } goto L_08B34FFC; } L_08B34FFC: aot_gpr_31 = (0x08B35004u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B36108; L_08B35004: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B3501C; } goto L_08B35010; } L_08B35010: aot_gpr_31 = (0x08B35018u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 225u, 0x08B35018u, 0x08891A2Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 224u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 224u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35018u) goto L_08B35018; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35018: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), 0u); goto L_08B3501C; L_08B3501C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(48)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_08B34FF0; } goto L_08B35030; } L_08B35030: ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (aot_gpr_16 | 0u); goto L_08B35038; L_08B35038: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B3505C; } goto L_08B35044; } L_08B35044: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(48)); if (branch_taken) { goto L_08B35038; } goto L_08B35054; } L_08B35054: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08B35060; } goto L_08B3505C; } L_08B3505C: ctx.gpr[2] = (0u | 0u); goto L_08B35060; L_08B35060: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B3507C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[20]); ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); 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), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[19]); { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (ctx.gpr[18] << 5u); if (branch_taken) { goto L_08B351E4; } goto L_08B350C4; } L_08B350C4: ctx.gpr[19] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4); aot_gpr_4 = (16128u << 16u); ctx.gpr[30] = (0u | 6u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[23] = (0u | 9u); ctx.gpr[22] = (0u | 8u); ctx.gpr[21] = (0u | 80u); goto L_08B350E8; L_08B350E8: { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; if (branch_taken) { goto L_08B35100; } goto L_08B350F0; } L_08B350F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); goto L_08B35108; } goto L_08B35100; L_08B35100: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B35128; } goto L_08B35108; } L_08B35108: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); goto L_08B35124; } goto L_08B3511C; L_08B3511C: { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B35128; } goto L_08B35124; } L_08B35124: ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[19]); goto L_08B35128; L_08B35128: aot_gpr_16 = (ctx.gpr[17] | 0u); { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_08B351D8; } goto L_08B35134; } L_08B35134: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B35164; } goto L_08B35140; } L_08B35140: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[30]; if (branch_taken) { goto L_08B35164; } goto L_08B3514C; } L_08B3514C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; if (branch_taken) { goto L_08B35164; } goto L_08B35158; } L_08B35158: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; if (branch_taken) { goto L_08B351D8; } goto L_08B35164; } L_08B35164: 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08B3517Cu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08B35604; L_08B3517C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B351D8; } goto L_08B35184; } L_08B35184: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[21]; if (branch_taken) { goto L_08B351A8; } goto L_08B35194; } L_08B35194: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B351D8; } goto L_08B351A8; } L_08B351A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B351B4u); aot_gpr_5 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 251u, 0x08B351B4u, 0x08891B8Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B351B4u) goto L_08B351B4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B351B4: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08B351D8; } goto L_08B351BC; } L_08B351BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); 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 = (0x08B351D8u); 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 == 0x08B351D8u) goto L_08B351D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B351D8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); { const bool branch_taken = ctx.gpr[18] != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2080)); if (branch_taken) { goto L_08B350E8; } goto L_08B351E4; } L_08B351E4: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; ctx.gpr[30] = aot_run_words[9]; aot_gpr_31 = aot_run_words[10]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B35218: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[22]); ctx.gpr[22] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + static_cast(-1)); { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(88), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_5 << 5u); if (branch_taken) { goto L_08B35440; } goto L_08B35260; } L_08B35260: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); aot_gpr_5 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); ctx.gpr[23] = (aot_gpr_29 + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); goto L_08B3527C; L_08B3527C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); if (branch_taken) { goto L_08B35298; } goto L_08B35288; } L_08B35288: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_08B352A0; } goto L_08B35298; L_08B35298: { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (0u | 0u); if (branch_taken) { goto L_08B352C4; } goto L_08B352A0; } L_08B352A0: aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); goto L_08B352BC; } goto L_08B352B4; L_08B352B4: { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (0u | 0u); if (branch_taken) { goto L_08B352C4; } goto L_08B352BC; } L_08B352BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[30] = (aot_gpr_4 + ctx.gpr[30]); goto L_08B352C4; L_08B352C4: ctx.gpr[21] = (ctx.gpr[30] | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_08B35424; } goto L_08B352D0; } L_08B352D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(852))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); goto L_08B35310; } goto L_08B352DC; L_08B352DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(852))); aot_gpr_5 = (0u | 6u); if (aot_gpr_4 == aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); goto L_08B35310; } goto L_08B352EC; L_08B352EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(852))); aot_gpr_5 = (0u | 9u); if (aot_gpr_4 == aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); goto L_08B35310; } goto L_08B352FC; L_08B352FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B35424; } goto L_08B3530C; } L_08B3530C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); goto L_08B35310; L_08B35310: aot_gpr_5 = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B35424; } goto L_08B35320; } L_08B35320: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B3532Cu); aot_gpr_5 = (ctx.gpr[21] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 271u, 0x08B3532Cu, 0x08B33710u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 735u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 735u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 735u, 0x08B33710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3532Cu) goto L_08B3532C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3532C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B35424; } goto L_08B35334; } L_08B35334: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(62))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_08B35348; } goto L_08B35340; } L_08B35340: { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_08B353EC; } goto L_08B35348; } L_08B35348: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { goto L_08B353EC; } goto L_08B35374; } L_08B35374: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); 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(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B353A4u); aot_gpr_6 = (ctx.gpr[23] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 276u, 0x08B353A4u, 0x08B32D3Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 611u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 611u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 611u, 0x08B32D3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B353A4u) goto L_08B353A4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B353A4: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B353CCu); aot_gpr_5 = (ctx.gpr[20] | 0u); goto L_08B356F8; L_08B353CC: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B353D8; } goto L_08B353D4; } L_08B353D4: ctx.gpr[19] = (0u | 1u); goto L_08B353D8; L_08B353D8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(32)); if (branch_taken) { goto L_08B35374; } goto L_08B353EC; } L_08B353EC: { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_08B35424; } goto L_08B353F4; } L_08B353F4: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B35400u); aot_gpr_5 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0035. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 282u, 0x08B35400u, 0x08891B8Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); #else recomp_unit_0035_entry(rt, ctx, 247u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35400u) goto L_08B35400; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35400: { const bool branch_taken = ctx.gpr[30] == 0u; if (branch_taken) { goto L_08B35424; } goto L_08B35408; } L_08B35408: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); 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 = (0x08B35424u); aot_gpr_4 = (ctx.gpr[30] + 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 == 0x08B35424u) goto L_08B35424; AOT_REGCACHE_SYNC_OUT(); return; L_08B35424: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 + static_cast(-2080)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_5); if (branch_taken) { goto L_08B3527C; } goto L_08B35440; } L_08B35440: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B35470: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_31); aot_gpr_31 = (0x08B3548Cu); ctx.gpr[17] = (aot_gpr_4 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 287u, 0x08B3548Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3548Cu) goto L_08B3548C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3548C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B35498u); aot_gpr_5 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 288u, 0x08B35498u, 0x08B33A00u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 761u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 761u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 761u, 0x08B33A00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35498u) goto L_08B35498; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35498: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B35584; } goto L_08B354A0; } L_08B354A0: aot_gpr_31 = (0x08B354A8u); 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 == 0x08B354A8u) goto L_08B354A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B354A8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B354B4u); aot_gpr_5 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 291u, 0x08B354B4u, 0x08B33E90u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 805u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 805u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 805u, 0x08B33E90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B354B4u) goto L_08B354B4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B354B4: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B35584; } goto L_08B354BC; } L_08B354BC: 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_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_fpr_15 = aot_fpr_15 + ctx.fpr[16]; { const float fs = aot_fpr_15; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; { const float fs = ctx.fpr[17]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const 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); } { 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_5 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B3558C; } goto L_08B35570; } L_08B35570: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08B355B8; } goto L_08B35584; } L_08B35584: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B355F0; } goto L_08B3558C; } L_08B3558C: aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); { 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_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = aot_fpr_15 + aot_fpr_14; aot_fpr_12 = ctx.fpr[17] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_12)); goto L_08B355B8; L_08B355B8: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B355D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 297u, 0x08B355D0u, 0x08B32E84u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 615u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 615u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B355D0u) goto L_08B355D0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B355D0: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B355F0; } goto L_08B355D8; } L_08B355D8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } goto L_08B355F0; L_08B355F0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), 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(96)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B35604: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); 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_08B356E4; } goto L_08B3561C; } L_08B3561C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); 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_08B356DC; } goto L_08B35630; } L_08B35630: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); aot_fpr_14 = aot_fpr_14 - aot_fpr_12; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_fpr_13 = aot_fpr_13 - aot_fpr_15; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); aot_fpr_12 = std::bit_cast(0u); { const float fs = aot_fpr_14; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = aot_fpr_13; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_15 = aot_fpr_15 + ctx.fpr[17]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B356D4; } goto L_08B35670; } L_08B35670: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(128))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= ctx.fpr[16])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B356CC; } goto L_08B35684; } L_08B35684: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_13; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = aot_fpr_14 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B356C4; } goto L_08B356A8; } L_08B356A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(132))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B356EC; } goto L_08B356BC; } L_08B356BC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B356F0; } goto L_08B356C4; } L_08B356C4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B356F0; } goto L_08B356CC; } L_08B356CC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B356F0; } goto L_08B356D4; } L_08B356D4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B356F0; } goto L_08B356DC; } L_08B356DC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B356F0; } goto L_08B356E4; } L_08B356E4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B356F0; } goto L_08B356EC; } L_08B356EC: ctx.gpr[2] = (0u | 1u); goto L_08B356F0; L_08B356F0: jump_target = aot_gpr_31; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B356F8: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_fpr_14 = aot_fpr_14 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B357E8; } goto L_08B35714; } L_08B35714: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_fpr_14 = aot_fpr_14 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B357E0; } goto L_08B3572C; } L_08B3572C: aot_fpr_15 = 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_4 + static_cast(48))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); aot_fpr_15 = aot_fpr_15 - aot_fpr_13; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[16]; ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); { const float fs = aot_fpr_15; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[18]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B357D8; } goto L_08B3576C; } L_08B3576C: ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(128))); ctx.fpr[17] = ctx.fpr[17] + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= ctx.fpr[17])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B357D0; } goto L_08B35784; } L_08B35784: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); { const float fs = aot_fpr_15; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_15 = aot_fpr_15 + aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B357C8; } goto L_08B357A8; } L_08B357A8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(132))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B357F0; } goto L_08B357C0; } L_08B357C0: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B357F4; } goto L_08B357C8; } L_08B357C8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B357F4; } goto L_08B357D0; } L_08B357D0: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B357F4; } goto L_08B357D8; } L_08B357D8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B357F4; } goto L_08B357E0; } L_08B357E0: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B357F4; } goto L_08B357E8; } L_08B357E8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B357F4; } goto L_08B357F0; } L_08B357F0: ctx.gpr[2] = (0u | 1u); goto L_08B357F4; L_08B357F4: jump_target = aot_gpr_31; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B357FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (branch_taken) { goto L_08B35834; } goto L_08B3581C; } L_08B3581C: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08B3582C; } goto L_08B35824; } L_08B35824: { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_08B3584C; } goto L_08B3582C; } L_08B3582C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B359A0; } goto L_08B35834; } L_08B35834: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { goto L_08B3586C; } goto L_08B3583C; } L_08B3583C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B3582C; } goto L_08B35844; } L_08B35844: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35910; } goto L_08B3584C; } L_08B3584C: aot_gpr_31 = (0x08B35854u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 336u, 0x08B35854u, 0x08B335BCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 719u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 719u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 719u, 0x08B335BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35854u) goto L_08B35854; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35854: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B35864; } goto L_08B3585C; } L_08B3585C: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); goto L_08B35864; L_08B35864: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B3582C; } goto L_08B3586C; } L_08B3586C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); aot_fpr_14 = std::bit_cast(0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B3588C; } goto L_08B3587C; } L_08B3587C: aot_gpr_4 = (15523u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B35898; } goto L_08B3588C; } L_08B3588C: aot_gpr_4 = (15651u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B35898; L_08B35898: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); goto L_08B358B4; } goto L_08B358B4; L_08B358B4: aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B358E8; } goto L_08B358C8; } L_08B358C8: ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(0u)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B358E8u); aot_gpr_6 = (0u | 74u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 345u, 0x08B358E8u, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B358E8u) goto L_08B358E8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B358E8: aot_gpr_31 = (0x08B358F0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B358F0: aot_gpr_31 = (0x08B358F8u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 347u, 0x08B358F8u, 0x08B335BCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 719u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 719u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 719u, 0x08B335BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B358F8u) goto L_08B358F8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B358F8: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B35908; } goto L_08B35900; } L_08B35900: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); goto L_08B35908; L_08B35908: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B3582C; } goto L_08B35910; } L_08B35910: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B3592C; } goto L_08B3591C; } L_08B3591C: aot_gpr_4 = (15477u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B35938; } goto L_08B3592C; } L_08B3592C: aot_gpr_4 = (15631u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B35938; L_08B35938: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); goto L_08B35958; } goto L_08B35958; L_08B35958: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B35990; } goto L_08B3596C; } L_08B3596C: aot_gpr_4 = (0u | 1u); ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B35990u); aot_gpr_6 = (0u | 75u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 356u, 0x08B35990u, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35990u) goto L_08B35990; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35990: aot_gpr_31 = (0x08B35998u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B35998: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B3582C; } goto L_08B359A0; } L_08B359A0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B359B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); 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_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); goto L_08B359E0; } goto L_08B359D0; L_08B359D0: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08B359D8; } goto L_08B359D8; } L_08B359D8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35A78; } goto L_08B359E0; } L_08B359E0: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B359D8; } goto L_08B359E8; } L_08B359E8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B35A04; } goto L_08B359F4; } L_08B359F4: aot_gpr_4 = (15477u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B35A10; } goto L_08B35A04; } L_08B35A04: aot_gpr_4 = (15631u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_08B35A10; L_08B35A10: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); { 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; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); goto L_08B35A30; } goto L_08B35A30; L_08B35A30: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B35A68; } goto L_08B35A44; } L_08B35A44: aot_gpr_4 = (0u | 1u); ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B35A68u); aot_gpr_6 = (0u | 75u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 369u, 0x08B35A68u, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35A68u) goto L_08B35A68; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35A68: aot_gpr_31 = (0x08B35A70u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B35A70: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B359D8; } goto L_08B35A78; } L_08B35A78: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B35A88: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (branch_taken) { goto L_08B35AC0; } goto L_08B35AA8; } L_08B35AA8: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08B35AB8; } goto L_08B35AB0; } L_08B35AB0: { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_08B35AD8; } goto L_08B35AB8; } L_08B35AB8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35BFC; } goto L_08B35AC0; } L_08B35AC0: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { goto L_08B35AE0; } goto L_08B35AC8; } L_08B35AC8: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B35AB8; } goto L_08B35AD0; } L_08B35AD0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35B6C; } goto L_08B35AD8; } L_08B35AD8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35AB8; } goto L_08B35AE0; } L_08B35AE0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); aot_fpr_14 = std::bit_cast(0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B35B00; } goto L_08B35AF0; } L_08B35AF0: aot_gpr_4 = (15523u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B35B0C; } goto L_08B35B00; } L_08B35B00: aot_gpr_4 = (15651u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B35B0C; L_08B35B0C: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); goto L_08B35B28; } goto L_08B35B28; L_08B35B28: aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B35B5C; } goto L_08B35B3C; } L_08B35B3C: ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(0u)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B35B5Cu); aot_gpr_6 = (0u | 74u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 386u, 0x08B35B5Cu, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35B5Cu) goto L_08B35B5C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35B5C: aot_gpr_31 = (0x08B35B64u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B35B64: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35AB8; } goto L_08B35B6C; } L_08B35B6C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B35B88; } goto L_08B35B78; } L_08B35B78: aot_gpr_4 = (15477u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B35B94; } goto L_08B35B88; } L_08B35B88: aot_gpr_4 = (15631u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B35B94; L_08B35B94: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); goto L_08B35BB4; } goto L_08B35BB4; L_08B35BB4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B35BEC; } goto L_08B35BC8; } L_08B35BC8: aot_gpr_4 = (0u | 1u); ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B35BECu); aot_gpr_6 = (0u | 75u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 394u, 0x08B35BECu, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35BECu) goto L_08B35BEC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35BEC: aot_gpr_31 = (0x08B35BF4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B35BF4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35AB8; } goto L_08B35BFC; } L_08B35BFC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B35C0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (branch_taken) { goto L_08B35C44; } goto L_08B35C2C; } L_08B35C2C: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08B35C3C; } goto L_08B35C34; } L_08B35C34: { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_08B35C5C; } goto L_08B35C3C; } L_08B35C3C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35DFC; } goto L_08B35C44; } L_08B35C44: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { goto L_08B35CC8; } goto L_08B35C4C; } L_08B35C4C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B35C3C; } goto L_08B35C54; } L_08B35C54: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35D6C; } goto L_08B35C5C; } L_08B35C5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B35CC0; } goto L_08B35C68; } L_08B35C68: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x08B35C78u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 406u, 0x08B35C78u, 0x08B32E84u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 615u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 615u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35C78u) goto L_08B35C78; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35C78: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B35CC0; } goto L_08B35C80; } L_08B35C80: aot_gpr_31 = (0x08B35C88u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34050; L_08B35C88: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B35CC0; } goto L_08B35C90; } L_08B35C90: aot_gpr_31 = (0x08B35C98u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 410u, 0x08B35C98u, 0x08B336A4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 727u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 727u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 727u, 0x08B336A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35C98u) goto L_08B35C98; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35C98: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B35CC0; } goto L_08B35CA0; } L_08B35CA0: aot_gpr_31 = (0x08B35CA8u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35CA8u) goto L_08B35CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B35CA8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_5 = (0u | 2u); aot_gpr_4 = (aot_gpr_4 | 4u); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(63), static_cast(0u)); goto L_08B35CC0; L_08B35CC0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35C3C; } goto L_08B35CC8; } L_08B35CC8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); aot_fpr_14 = std::bit_cast(0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B35CE8; } goto L_08B35CD8; } L_08B35CD8: aot_gpr_4 = (15523u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B35CF4; } goto L_08B35CE8; } L_08B35CE8: aot_gpr_4 = (15651u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B35CF4; L_08B35CF4: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); goto L_08B35D10; } goto L_08B35D10; L_08B35D10: aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B35D5C; } goto L_08B35D24; } L_08B35D24: ctx.gpr[7] = (16256u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B35D40u); aot_gpr_6 = (0u | 74u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 420u, 0x08B35D40u, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35D40u) goto L_08B35D40; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35D40: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(0u)); aot_gpr_31 = (0x08B35D4Cu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35D4Cu) goto L_08B35D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B35D4C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); goto L_08B35D5C; L_08B35D5C: aot_gpr_31 = (0x08B35D64u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B35D64: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35C3C; } goto L_08B35D6C; } L_08B35D6C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B35D88; } goto L_08B35D78; } L_08B35D78: aot_gpr_4 = (15477u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B35D94; } goto L_08B35D88; } L_08B35D88: aot_gpr_4 = (15631u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B35D94; L_08B35D94: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); goto L_08B35DB4; } goto L_08B35DB4; L_08B35DB4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B35DEC; } goto L_08B35DC8; } L_08B35DC8: aot_gpr_4 = (0u | 1u); ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B35DECu); aot_gpr_6 = (0u | 75u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 430u, 0x08B35DECu, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B35DECu) goto L_08B35DEC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B35DEC: aot_gpr_31 = (0x08B35DF4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B35DF4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B35C3C; } goto L_08B35DFC; } L_08B35DFC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B35E0C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_gpr_5 + static_cast(48)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(548))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(36), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(549))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(37), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(550))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(38), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(551))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(39), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(552))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(40), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(553))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(41), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(554))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(42), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(555))); ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(43), static_cast(aot_gpr_6)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(695))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(44), static_cast(aot_gpr_6)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(556)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(45), static_cast(aot_gpr_6)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(557)))))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(46), static_cast(aot_gpr_6)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), 0u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(618)))))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B35ED0; } goto L_08B35EC4; } L_08B35EC4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 32768u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B35ED0; L_08B35ED0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); ctx.gpr[7] = (1024u << 16u); ctx.gpr[7] = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_08B35EF4; } goto L_08B35EE4; } L_08B35EE4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 1u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); goto L_08B35EF4; L_08B35EF4: ctx.gpr[7] = (2048u << 16u); ctx.gpr[7] = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_08B35F14; } goto L_08B35F04; } L_08B35F04: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 2u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); goto L_08B35F14; L_08B35F14: ctx.gpr[7] = (4u << 16u); ctx.gpr[7] = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_08B35F34; } goto L_08B35F24; } L_08B35F24: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 4u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); goto L_08B35F34; L_08B35F34: ctx.gpr[7] = (4096u << 16u); ctx.gpr[7] = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_08B35F54; } goto L_08B35F44; } L_08B35F44: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 8u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); goto L_08B35F54; L_08B35F54: ctx.gpr[7] = (8192u << 16u); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B35F70; } goto L_08B35F64; } L_08B35F64: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B35F70; L_08B35F70: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(617)))))); aot_gpr_6 = (aot_gpr_6 & 8u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B35F8C; } goto L_08B35F80; } L_08B35F80: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 32u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B35F8C; L_08B35F8C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(615)))))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B35FA8; } goto L_08B35F9C; } L_08B35F9C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 64u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B35FA8; L_08B35FA8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(236))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B35FC4; } goto L_08B35FB8; } L_08B35FB8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 128u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B35FC4; L_08B35FC4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_08B36030; } goto L_08B35FD0; } L_08B35FD0: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(616)))))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B35FEC; } goto L_08B35FE0; } L_08B35FE0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 256u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B35FEC; L_08B35FEC: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); aot_gpr_6 = (aot_gpr_6 & 7u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B36008; } goto L_08B35FFC; } L_08B35FFC: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 512u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B36008; L_08B36008: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); aot_gpr_6 = (aot_gpr_6 & 64u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B36024; } goto L_08B36018; } L_08B36018: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 1024u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B36024; L_08B36024: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1708))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B36100; } goto L_08B36030; } L_08B36030: ctx.gpr[7] = (0u | 6u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; if (branch_taken) { goto L_08B36064; } goto L_08B3603C; } L_08B3603C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(616)))))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B36058; } goto L_08B3604C; } L_08B3604C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 256u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B36058; L_08B36058: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1352))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B36100; } goto L_08B36064; } L_08B36064: ctx.gpr[7] = (0u | 9u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; if (branch_taken) { goto L_08B360D0; } goto L_08B36070; } L_08B36070: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(616)))))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B3608C; } goto L_08B36080; } L_08B36080: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 256u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B3608C; L_08B3608C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); aot_gpr_6 = (aot_gpr_6 & 7u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B360A8; } goto L_08B3609C; } L_08B3609C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 512u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B360A8; L_08B360A8: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); aot_gpr_6 = (aot_gpr_6 & 64u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B360C4; } goto L_08B360B8; } L_08B360B8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 1024u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B360C4; L_08B360C4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1708))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B36100; } goto L_08B360D0; } L_08B360D0: ctx.gpr[7] = (0u | 8u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; if (branch_taken) { goto L_08B36100; } goto L_08B360DC; } L_08B360DC: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(616)))))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B360F8; } goto L_08B360EC; } L_08B360EC: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_6 = (aot_gpr_6 | 256u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), aot_gpr_6); goto L_08B360F8; L_08B360F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1352))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); goto L_08B36100; L_08B36100: jump_target = aot_gpr_31; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B36108: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); ctx.gpr[17] = (0u | 1u); aot_gpr_6 = (ctx.gpr[28] + static_cast(4280)); { 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(8), aot_run_words); } aot_gpr_31 = (0x08B36138u); aot_gpr_5 = (0u | 4u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0179. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 477u, 0x08B36138u, 0x08AD3258u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 546u, aot_mem); #else recomp_unit_0179_entry(rt, ctx, 546u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36138u) goto L_08B36138; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36138: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B3614C; } goto L_08B36148; } L_08B36148: ctx.gpr[17] = (0u | 2u); goto L_08B3614C; L_08B3614C: aot_gpr_31 = (0x08B36154u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0179. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 480u, 0x08B36154u, 0x08AD3698u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 607u, aot_mem); #else recomp_unit_0179_entry(rt, ctx, 607u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36154u) goto L_08B36154; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36154: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B36770; } goto L_08B3615C; } L_08B3615C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45)))))); aot_gpr_31 = (0x08B36168u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46)))))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 482u, 0x08B36168u, 0x08B32D90u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 613u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 613u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 613u, 0x08B32D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36168u) goto L_08B36168; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36168: aot_gpr_31 = (0x08B36170u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 483u, 0x08B36170u, 0x08AECC3Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 217u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 217u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 217u, 0x08AECC3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36170u) goto L_08B36170; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36170: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B361C0; } goto L_08B36178; } L_08B36178: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B36184u); aot_gpr_4 = (0u | 1584u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 485u, 0x08B36184u, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36184u) goto L_08B36184; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36184: ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_08B361A4; } goto L_08B36190; } L_08B36190: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B361A0u); aot_gpr_6 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0149. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 487u, 0x08B361A0u, 0x08A5A7FCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0149_entry(rt, ctx, 581u, aot_mem); #else recomp_unit_0149_entry(rt, ctx, 581u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 581u, 0x08A5A7FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B361A0u) goto L_08B361A0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B361A0: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_08B361A4; L_08B361A4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 2u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(1280), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08B363D4; } goto L_08B361C0; } L_08B361C0: aot_gpr_31 = (0x08B361C8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 490u, 0x08B361C8u, 0x08AECA18u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 168u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 168u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 168u, 0x08AECA18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B361C8u) goto L_08B361C8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B361C8: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B3620C; } goto L_08B361D0; } L_08B361D0: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B361DCu); aot_gpr_4 = (0u | 1184u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 492u, 0x08B361DCu, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B361DCu) goto L_08B361DC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B361DC: ctx.gpr[19] = (ctx.gpr[2] | 0u); if (ctx.gpr[19] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B36200; } goto L_08B361E8; L_08B361E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B361F8u); aot_gpr_6 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0039. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 494u, 0x08B361F8u, 0x088A2F88u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0039_entry(rt, ctx, 689u, aot_mem); #else recomp_unit_0039_entry(rt, ctx, 689u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 689u, 0x088A2F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B361F8u) goto L_08B361F8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B361F8: ctx.gpr[18] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B36200; L_08B36200: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08B363D4; } goto L_08B3620C; } L_08B3620C: aot_gpr_31 = (0x08B36214u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 497u, 0x08B36214u, 0x08AECAA8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 181u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 181u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 181u, 0x08AECAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36214u) goto L_08B36214; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36214: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B3625C; } goto L_08B3621C; } L_08B3621C: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B36228u); aot_gpr_4 = (0u | 1920u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 499u, 0x08B36228u, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36228u) goto L_08B36228; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36228: ctx.gpr[19] = (ctx.gpr[2] | 0u); if (ctx.gpr[19] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B36250; } goto L_08B36234; L_08B36234: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B36248u); ctx.gpr[7] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0012. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 501u, 0x08B36248u, 0x08834A84u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0012_entry(rt, ctx, 92u, aot_mem); #else recomp_unit_0012_entry(rt, ctx, 92u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0012_entry, 12u, 92u, 0x08834A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36248u) goto L_08B36248; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36248: ctx.gpr[18] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B36250; L_08B36250: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08B363D4; } goto L_08B3625C; } L_08B3625C: aot_gpr_31 = (0x08B36264u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 504u, 0x08B36264u, 0x08AECCC0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 229u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 229u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 229u, 0x08AECCC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36264u) goto L_08B36264; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36264: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B362B4; } goto L_08B3626C; } L_08B3626C: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B36278u); aot_gpr_4 = (0u | 1632u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 506u, 0x08B36278u, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36278u) goto L_08B36278; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36278: ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_08B36298; } goto L_08B36284; } L_08B36284: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B36294u); aot_gpr_6 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0089. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 508u, 0x08B36294u, 0x08969648u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0089_entry(rt, ctx, 304u, aot_mem); #else recomp_unit_0089_entry(rt, ctx, 304u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 304u, 0x08969648u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36294u) goto L_08B36294; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36294: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_08B36298; L_08B36298: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 2u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(1280), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08B363D4; } goto L_08B362B4; } L_08B362B4: aot_gpr_31 = (0x08B362BCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 511u, 0x08B362BCu, 0x08AECD48u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 241u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 241u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 241u, 0x08AECD48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B362BCu) goto L_08B362BC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B362BC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B36300; } goto L_08B362C4; } L_08B362C4: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B362D0u); aot_gpr_4 = (0u | 1984u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 513u, 0x08B362D0u, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B362D0u) goto L_08B362D0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B362D0: ctx.gpr[19] = (ctx.gpr[2] | 0u); if (ctx.gpr[19] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B362F4; } goto L_08B362DC; L_08B362DC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B362ECu); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 406u, 0x08B199C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B362ECu) goto L_08B362EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B362EC: ctx.gpr[18] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B362F4; L_08B362F4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08B363D4; } goto L_08B36300; } L_08B36300: aot_gpr_31 = (0x08B36308u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 518u, 0x08B36308u, 0x08AECB2Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 193u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 193u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 193u, 0x08AECB2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36308u) goto L_08B36308; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36308: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B3634C; } goto L_08B36310; } L_08B36310: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B3631Cu); aot_gpr_4 = (0u | 2080u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 520u, 0x08B3631Cu, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3631Cu) goto L_08B3631C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3631C: ctx.gpr[19] = (ctx.gpr[2] | 0u); if (ctx.gpr[19] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B36340; } goto L_08B36328; L_08B36328: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B36338u); aot_gpr_6 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0122. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 522u, 0x08B36338u, 0x089ED94Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0122_entry(rt, ctx, 226u, aot_mem); #else recomp_unit_0122_entry(rt, ctx, 226u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 226u, 0x089ED94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36338u) goto L_08B36338; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36338: ctx.gpr[18] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B36340; L_08B36340: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08B363D4; } goto L_08B3634C; } L_08B3634C: aot_gpr_31 = (0x08B36354u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0186. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 525u, 0x08B36354u, 0x08AECBB4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0186_entry(rt, ctx, 205u, aot_mem); #else recomp_unit_0186_entry(rt, ctx, 205u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 205u, 0x08AECBB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36354u) goto L_08B36354; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36354: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B36398; } goto L_08B3635C; } L_08B3635C: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B36368u); aot_gpr_4 = (0u | 2064u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 527u, 0x08B36368u, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36368u) goto L_08B36368; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36368: ctx.gpr[19] = (ctx.gpr[2] | 0u); if (ctx.gpr[19] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B3638C; } goto L_08B36374; L_08B36374: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B36384u); aot_gpr_6 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0117. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 529u, 0x08B36384u, 0x089D96B4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0117_entry(rt, ctx, 257u, aot_mem); #else recomp_unit_0117_entry(rt, ctx, 257u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 257u, 0x089D96B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36384u) goto L_08B36384; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36384: ctx.gpr[18] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B3638C; L_08B3638C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); if (branch_taken) { goto L_08B363D4; } goto L_08B36398; } L_08B36398: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B363A4u); aot_gpr_4 = (0u | 1920u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 532u, 0x08B363A4u, 0x08AFF2C4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 732u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B363A4u) goto L_08B363A4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B363A4: ctx.gpr[19] = (ctx.gpr[2] | 0u); if (ctx.gpr[19] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B363CC; } goto L_08B363B0; L_08B363B0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B363C4u); ctx.gpr[7] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0012. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 534u, 0x08B363C4u, 0x08834A84u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0012_entry(rt, ctx, 92u, aot_mem); #else recomp_unit_0012_entry(rt, ctx, 92u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0012_entry, 12u, 92u, 0x08834A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B363C4u) goto L_08B363C4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B363C4: ctx.gpr[18] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B363CC; L_08B363CC: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); goto L_08B363D4; L_08B363D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (0u + static_cast(-497)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(52), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(56), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(20), 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[18] + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_4 = (16256u << 16u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(32), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(36), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B36448u); aot_gpr_5 = (0u | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0191. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 537u, 0x08B36448u, 0x08B00520u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 72u, aot_mem); #else recomp_unit_0191_entry(rt, ctx, 72u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 72u, 0x08B00520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36448u) goto L_08B36448; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36448: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(36))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(548), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(37))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(549), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(38))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(550), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(39))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(551), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(552), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(41))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(553), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(42))); aot_gpr_6 = (0u + static_cast(-129)); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(554), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(43))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(613)))))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(555), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(695), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(615)))))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 4u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(615), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(680), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_5 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B364D4; } goto L_08B364C4; } L_08B364C4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(618), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B364D4; L_08B364D4: aot_gpr_5 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B364F4; } goto L_08B364E0; } L_08B364E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (1024u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B364F4; L_08B364F4: aot_gpr_5 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36514; } goto L_08B36500; } L_08B36500: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (2048u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B36514; L_08B36514: aot_gpr_5 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36534; } goto L_08B36520; } L_08B36520: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B36534; L_08B36534: aot_gpr_5 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36554; } goto L_08B36540; } L_08B36540: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (4096u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B36554; L_08B36554: aot_gpr_5 = (aot_gpr_4 & 16u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36574; } goto L_08B36560; } L_08B36560: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B36574; L_08B36574: aot_gpr_5 = (aot_gpr_4 & 32u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36590; } goto L_08B36580; } L_08B36580: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(617)))))); aot_gpr_4 = (aot_gpr_4 | 8u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(617), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B36590; L_08B36590: aot_gpr_5 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B365AC; } goto L_08B3659C; } L_08B3659C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(615), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B365AC; L_08B365AC: aot_gpr_5 = (aot_gpr_4 & 128u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(236))); if (branch_taken) { goto L_08B365F8; } goto L_08B365B8; } L_08B365B8: aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(236), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_5 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (16544u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(208), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(192))); { 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; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(212), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B36620; } goto L_08B365F8; } L_08B365F8: aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(236), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(208), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(192))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(212), std::bit_cast(aot_fpr_12)); goto L_08B36620; L_08B36620: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B36690; } goto L_08B36628; } L_08B36628: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_6 = (aot_gpr_5 & 256u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B36648; } goto L_08B36638; } L_08B36638: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(616)))))); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(616), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B36648; L_08B36648: aot_gpr_6 = (aot_gpr_5 & 512u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B3666C; } goto L_08B36654; } L_08B36654: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1653)))))); aot_gpr_6 = (0u + static_cast(-8)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1653), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B3666C; L_08B3666C: aot_gpr_5 = (aot_gpr_5 & 1024u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36684; } goto L_08B36678; } L_08B36678: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1653)))))); aot_gpr_5 = (aot_gpr_5 | 64u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1653), static_cast(aot_gpr_5)); goto L_08B36684; L_08B36684: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1708), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B36768; } goto L_08B36690; } L_08B36690: aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B366C4; } goto L_08B3669C; } L_08B3669C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_5 = (aot_gpr_5 & 256u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B366B8; } goto L_08B366AC; } L_08B366AC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(616)))))); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(616), static_cast(aot_gpr_5)); goto L_08B366B8; L_08B366B8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1352), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B36768; } goto L_08B366C4; } L_08B366C4: aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B36738; } goto L_08B366D0; } L_08B366D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_6 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B366F0; } goto L_08B366E0; } L_08B366E0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(616)))))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(616), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B366F0; L_08B366F0: aot_gpr_6 = (aot_gpr_4 & 512u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_08B36714; } goto L_08B366FC; } L_08B366FC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); aot_gpr_6 = (0u + static_cast(-8)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); goto L_08B36714; L_08B36714: aot_gpr_4 = (aot_gpr_4 & 1024u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B3672C; } goto L_08B36720; } L_08B36720: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1653)))))); aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1653), static_cast(aot_gpr_4)); goto L_08B3672C; L_08B3672C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1708), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B36768; } goto L_08B36738; } L_08B36738: aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B36768; } goto L_08B36744; } L_08B36744: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_gpr_5 = (aot_gpr_5 & 256u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B36760; } goto L_08B36754; } L_08B36754: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(616)))))); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(616), static_cast(aot_gpr_5)); goto L_08B36760; L_08B36760: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1352), std::bit_cast(aot_fpr_12)); goto L_08B36768; L_08B36768: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B36774; } goto L_08B36770; } L_08B36770: ctx.gpr[2] = (0u | 0u); goto L_08B36774; L_08B36774: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B36790: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { 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(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B367BC; } goto L_08B367AC; } L_08B367AC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(61))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B367D4; } goto L_08B367BC; } L_08B367BC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(61))); aot_gpr_5 = (0u | 11u); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); goto L_08B367DC; } goto L_08B367CC; L_08B367CC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B3693C; } goto L_08B367D4; } L_08B367D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B367DC; } L_08B367DC: aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08B3693C; } goto L_08B367E8; } L_08B367E8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_gpr_5 = (0u | 7u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08B3693C; } goto L_08B367F8; } L_08B367F8: aot_gpr_31 = (0x08B36800u); 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 == 0x08B36800u) goto L_08B36800; AOT_REGCACHE_SYNC_OUT(); return; L_08B36800: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B3693C; } goto L_08B36808; } L_08B36808: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(78))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B3693C; } goto L_08B36814; } L_08B36814: aot_gpr_31 = (0x08B3681Cu); 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 == 0x08B3681Cu) goto L_08B3681C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3681C: aot_gpr_6 = (16000u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08B36830u); aot_gpr_5 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 595u, 0x08B36830u, 0x08B32E84u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 615u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 615u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36830u) goto L_08B36830; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36830: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B3684C; } goto L_08B36838; } L_08B36838: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9216), static_cast(aot_gpr_4)); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1988), aot_gpr_16); goto L_08B3684C; L_08B3684C: aot_gpr_31 = (0x08B36854u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 598u, 0x08B36854u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36854u) goto L_08B36854; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36854: ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08B3693C; } goto L_08B36860; } L_08B36860: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B36870u); aot_gpr_5 = (ctx.gpr[17] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 600u, 0x08B36870u, 0x08B33424u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 703u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 703u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 703u, 0x08B33424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36870u) goto L_08B36870; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36870: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_08B36884; } goto L_08B36878; } L_08B36878: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1992), aot_gpr_16); goto L_08B36884; L_08B36884: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u | 244u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B3693C; } goto L_08B36894; } L_08B36894: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[17] + 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); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_14 = aot_fpr_14 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B36920; } goto L_08B368C8; } L_08B368C8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_13 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B36920; } goto L_08B368E4; } L_08B368E4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B36920; } goto L_08B36900; } L_08B36900: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B36920; } goto L_08B3691C; } L_08B3691C: aot_gpr_4 = (0u | 1u); goto L_08B36920; L_08B36920: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B3693C; } goto L_08B36928; } L_08B36928: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9216), static_cast(aot_gpr_4)); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1988), aot_gpr_16); goto L_08B3693C; L_08B3693C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(64))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B36954; } goto L_08B36948; } L_08B36948: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B36968; } goto L_08B36954; } L_08B36954: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B36970; } goto L_08B36960; } L_08B36960: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36A4C; } goto L_08B36968; } L_08B36968: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36970; } L_08B36970: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B369F4; } goto L_08B36980; } L_08B36980: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B369B8; } goto L_08B3698C; } L_08B3698C: aot_gpr_31 = (0x08B36994u); 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 == 0x08B36994u) goto L_08B36994; AOT_REGCACHE_SYNC_OUT(); return; L_08B36994: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1300))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B369B8; } goto L_08B369A4; } L_08B369A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08B369B8; L_08B369B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B36A4C; } goto L_08B369C4; } L_08B369C4: aot_gpr_31 = (0x08B369CCu); 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 == 0x08B369CCu) goto L_08B369CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B369CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1300))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B36A4C; } goto L_08B369DC; } L_08B369DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); if (branch_taken) { goto L_08B36A4C; } goto L_08B369F4; } L_08B369F4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B36A4C; } goto L_08B36A04; } L_08B36A04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B36A28; } goto L_08B36A10; } L_08B36A10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_gpr_5 = (aot_gpr_5 | 512u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08B36A28; L_08B36A28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B36A4C; } goto L_08B36A34; } L_08B36A34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_gpr_5 = (aot_gpr_5 | 512u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08B36A4C; L_08B36A4C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(61))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_5 = (aot_gpr_4 < static_cast(30) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36A60; } L_08B36A60: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2233u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-31328))); jump_target = ctx.gpr[1]; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B36A78: aot_gpr_31 = (0x08B36A80u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B36F88; L_08B36A80: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36A88; } L_08B36A88: aot_gpr_31 = (0x08B36A90u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B37FC8; L_08B36A90: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36A98; } L_08B36A98: aot_gpr_31 = (0x08B36AA0u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0205. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 636u, 0x08B36AA0u, 0x08B38938u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0205_entry(rt, ctx, 193u, aot_mem); #else recomp_unit_0205_entry(rt, ctx, 193u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 193u, 0x08B38938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36AA0u) goto L_08B36AA0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36AA0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36AA8; } L_08B36AA8: aot_gpr_31 = (0x08B36AB0u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0205. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 638u, 0x08B36AB0u, 0x08B38D54u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0205_entry(rt, ctx, 259u, aot_mem); #else recomp_unit_0205_entry(rt, ctx, 259u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 259u, 0x08B38D54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36AB0u) goto L_08B36AB0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36AB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36AB8; } L_08B36AB8: aot_gpr_31 = (0x08B36AC0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B357FC; L_08B36AC0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36AC8; } L_08B36AC8: aot_gpr_31 = (0x08B36AD0u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0205. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 642u, 0x08B36AD0u, 0x08B3939Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0205_entry(rt, ctx, 372u, aot_mem); #else recomp_unit_0205_entry(rt, ctx, 372u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 372u, 0x08B3939Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36AD0u) goto L_08B36AD0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36AD0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36AD8; } L_08B36AD8: aot_gpr_31 = (0x08B36AE0u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0205. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 644u, 0x08B36AE0u, 0x08B397DCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0205_entry(rt, ctx, 445u, aot_mem); #else recomp_unit_0205_entry(rt, ctx, 445u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 445u, 0x08B397DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36AE0u) goto L_08B36AE0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36AE0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36AE8; } L_08B36AE8: aot_gpr_31 = (0x08B36AF0u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0205. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 646u, 0x08B36AF0u, 0x08B39E2Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0205_entry(rt, ctx, 522u, aot_mem); #else recomp_unit_0205_entry(rt, ctx, 522u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 522u, 0x08B39E2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36AF0u) goto L_08B36AF0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36AF0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36AF8; } L_08B36AF8: aot_gpr_31 = (0x08B36B00u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B359B0; L_08B36B00: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36B08; } L_08B36B08: aot_gpr_31 = (0x08B36B10u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B35A88; L_08B36B10: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36B18; } L_08B36B18: aot_gpr_31 = (0x08B36B20u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0205. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 652u, 0x08B36B20u, 0x08B3A25Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0205_entry(rt, ctx, 590u, aot_mem); #else recomp_unit_0205_entry(rt, ctx, 590u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 590u, 0x08B3A25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36B20u) goto L_08B36B20; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36B20: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36B28; } L_08B36B28: aot_gpr_31 = (0x08B36B30u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0205. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 654u, 0x08B36B30u, 0x08B3A750u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0205_entry(rt, ctx, 677u, aot_mem); #else recomp_unit_0205_entry(rt, ctx, 677u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 677u, 0x08B3A750u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36B30u) goto L_08B36B30; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36B30: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36B40; } goto L_08B36B38; } L_08B36B38: aot_gpr_31 = (0x08B36B40u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B35C0C; L_08B36B40: { 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)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B36B54: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (16128u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (17096u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17056u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_12 - aot_fpr_14; aot_fpr_13 = aot_fpr_13 / aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_gpr_5 = (16880u << 16u); ctx.fpr[17] = ctx.fpr[16] + ctx.fpr[17]; ctx.fpr[16] = std::bit_cast(aot_gpr_5); ctx.fpr[19] = aot_fpr_13 + ctx.fpr[16]; { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[19] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[19])); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_13 = ctx.fpr[18] - aot_fpr_14; aot_gpr_6 = (0u | 49u); ctx.gpr[7] = (16840u << 16u); aot_gpr_5 = (std::bit_cast(ctx.fpr[19])); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-25492))); ctx.fpr[17] = std::bit_cast(ctx.gpr[7]); aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); aot_fpr_14 = ctx.fpr[18] + aot_fpr_14; { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 49u); goto L_08B36C0C; } goto L_08B36C0C; L_08B36C0C: aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_08B36C18; } goto L_08B36C18; L_08B36C18: aot_gpr_6 = (0u | 0u); ctx.gpr[17] = (0u | 0u); aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_6 != 0u) { ctx.gpr[17] = (aot_gpr_5 | 0u); goto L_08B36C2C; } goto L_08B36C2C; L_08B36C2C: aot_fpr_13 = aot_fpr_13 / aot_fpr_15; aot_gpr_6 = (0u | 49u); aot_fpr_13 = aot_fpr_13 + ctx.fpr[17]; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 49u); goto L_08B36C4C; } goto L_08B36C4C; L_08B36C4C: aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_08B36C58; } goto L_08B36C58; L_08B36C58: aot_gpr_6 = (0u | 0u); ctx.gpr[22] = (0u | 0u); aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_6 != 0u) { ctx.gpr[22] = (aot_gpr_5 | 0u); goto L_08B36C6C; } goto L_08B36C6C; L_08B36C6C: aot_fpr_12 = aot_fpr_12 / aot_fpr_15; aot_gpr_6 = (0u | 49u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[16]; 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_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 49u); goto L_08B36C8C; } goto L_08B36C8C; L_08B36C8C: aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_08B36C98; } goto L_08B36C98; L_08B36C98: ctx.gpr[18] = (0u | 49u); aot_gpr_6 = (static_cast(aot_gpr_5) < 49 ? 1u : 0u); if (aot_gpr_6 != 0u) { ctx.gpr[18] = (aot_gpr_5 | 0u); goto L_08B36CA8; } goto L_08B36CA8; L_08B36CA8: aot_fpr_12 = aot_fpr_14 / aot_fpr_15; aot_gpr_6 = (0u | 49u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[17]; 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_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 49u); goto L_08B36CC8; } goto L_08B36CC8; L_08B36CC8: aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_08B36CD4; } goto L_08B36CD4; L_08B36CD4: ctx.gpr[19] = (0u | 49u); aot_gpr_6 = (static_cast(aot_gpr_5) < 49 ? 1u : 0u); if (aot_gpr_6 != 0u) { ctx.gpr[19] = (aot_gpr_5 | 0u); goto L_08B36CE4; } goto L_08B36CE4; L_08B36CE4: aot_gpr_5 = (0u | 65535u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { goto L_08B36CFC; } goto L_08B36CF4; } L_08B36CF4: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(-25492), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B36D0C; } goto L_08B36CFC; } L_08B36CFC: aot_gpr_31 = (0x08B36D04u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 672u, 0x08B36D04u, 0x088954BCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 274u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 274u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 274u, 0x088954BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B36D04u) goto L_08B36D04; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B36D04: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(-25492), static_cast(aot_gpr_4)); goto L_08B36D0C; L_08B36D0C: ctx.gpr[20] = (ctx.gpr[22] | 0u); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[22] << 4u); if (branch_taken) { goto L_08B36DAC; } goto L_08B36D1C; } L_08B36D1C: ctx.gpr[22] = (ctx.gpr[22] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); goto L_08B36D28; L_08B36D28: ctx.gpr[21] = (ctx.gpr[17] | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[22]); if (branch_taken) { goto L_08B36D9C; } goto L_08B36D38; } L_08B36D38: ctx.gpr[23] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[23] = (ctx.gpr[23] - aot_gpr_4); goto L_08B36D44; L_08B36D44: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[30] = (aot_gpr_5 + ctx.gpr[23]); aot_gpr_5 = (ctx.gpr[30] + static_cast(12)); aot_gpr_31 = (0x08B36D5Cu); aot_gpr_6 = (0u | 0u); goto L_08B34BBC; L_08B36D5C: aot_gpr_5 = (ctx.gpr[30] + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B36D6Cu); aot_gpr_6 = (0u | 0u); goto L_08B34BBC; L_08B36D6C: aot_gpr_5 = (ctx.gpr[30] + static_cast(48)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B36D7Cu); aot_gpr_6 = (0u | 1u); goto L_08B34BBC; L_08B36D7C: aot_gpr_5 = (ctx.gpr[30] + static_cast(52)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B36D8Cu); aot_gpr_6 = (0u | 1u); goto L_08B34BBC; L_08B36D8C: ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[23] = (ctx.gpr[23] + static_cast(56)); if (branch_taken) { goto L_08B36D44; } goto L_08B36D9C; } L_08B36D9C: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(50)); if (branch_taken) { goto L_08B36D28; } goto L_08B36DAC; } L_08B36DAC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08B36E7C; } goto L_08B36DB8; } L_08B36DB8: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B36E7C; } goto L_08B36DC0; } L_08B36DC0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); aot_fpr_15 = std::bit_cast(aot_run_words[3]); } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_6 = (aot_gpr_4 + static_cast(48)); aot_fpr_14 = aot_fpr_14 + aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_4 + static_cast(48)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_6 = (aot_gpr_5 + static_cast(48)); { const float fs = aot_fpr_14; const float ft = ctx.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; } ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(48)); aot_fpr_12 = ctx.fpr[16] - aot_fpr_13; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); ctx.fpr[20] = ctx.fpr[17] - aot_fpr_14; aot_fpr_13 = ctx.fpr[18] - aot_fpr_13; aot_fpr_14 = aot_fpr_15 - aot_fpr_14; { 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[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } { const float fs = ctx.fpr[20]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[0] = std::bit_cast(0u); ctx.fpr[16] = ctx.fpr[19] + ctx.fpr[16]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= ctx.fpr[0])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B36E7C; } goto L_08B36E30; } L_08B36E30: { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_15; aot_fpr_13 = aot_fpr_13 + aot_fpr_14; 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_08B36E64; } goto L_08B36E58; } L_08B36E58: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(75), static_cast(0u)); if (branch_taken) { goto L_08B36E7C; } goto L_08B36E64; } L_08B36E64: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(75))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(74), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(75), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08B36E7C; L_08B36E7C: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B36E98; } goto L_08B36E84; } L_08B36E84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_6 = (0u + static_cast(-513)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 512u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08B36E98; L_08B36E98: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_08B36EB8; } goto L_08B36EA4; } L_08B36EA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 512u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); goto L_08B36EB8; L_08B36EB8: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; ctx.gpr[30] = aot_run_words[9]; aot_gpr_31 = aot_run_words[10]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B36EEC: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(61))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_6 = (aot_gpr_5 < static_cast(30) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_6 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B36F80; } goto L_08B36F00; } L_08B36F00: aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[1] = (2233u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-31208))); jump_target = ctx.gpr[1]; aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B36F18: { const bool branch_taken = static_cast(aot_gpr_5) < 0; aot_gpr_6 = (static_cast(aot_gpr_5) < 2 ? 1u : 0u); if (branch_taken) { goto L_08B36F48; } goto L_08B36F20; } L_08B36F20: if (aot_gpr_6 == 0u) { aot_gpr_5 = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); goto L_08B36F38; } goto L_08B36F28; L_08B36F28: { const bool branch_taken = static_cast(aot_gpr_5) <= 0; if (branch_taken) { goto L_08B36F40; } goto L_08B36F30; } L_08B36F30: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36F48; } goto L_08B36F38; } L_08B36F38: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36F48; } goto L_08B36F40; } L_08B36F40: aot_gpr_5 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(62), static_cast(aot_gpr_5)); goto L_08B36F48; L_08B36F48: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36F80; } goto L_08B36F50; } L_08B36F50: if (static_cast(aot_gpr_5) > 0) { aot_gpr_5 = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); goto L_08B36F68; } goto L_08B36F58; L_08B36F58: { const bool branch_taken = static_cast(aot_gpr_5) < 0; if (branch_taken) { goto L_08B36F78; } goto L_08B36F60; } L_08B36F60: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36F78; } goto L_08B36F68; } L_08B36F68: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B36F78; } goto L_08B36F70; } L_08B36F70: aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(62), static_cast(aot_gpr_5)); goto L_08B36F78; L_08B36F78: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B36F80; } goto L_08B36F80; } L_08B36F80: jump_target = aot_gpr_31; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B36F88: aot_gpr_29 = (aot_gpr_29 + static_cast(-784)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(744), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(732), std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_4 < static_cast(5) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(736), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(ctx.fpr[24])); { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(748), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B371BC; } goto L_08B36FD4; } L_08B36FD4: { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[1] = (0u + static_cast(2)); if (branch_taken) { goto L_08B37344; } goto L_08B36FDC; } L_08B36FDC: { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(3)); if (branch_taken) { goto L_08B371C4; } goto L_08B36FE4; } L_08B36FE4: { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(4)); if (branch_taken) { goto L_08B37EC0; } goto L_08B36FEC; } L_08B36FEC: { const bool branch_taken = aot_gpr_4 == ctx.gpr[1]; if (branch_taken) { goto L_08B37F50; } goto L_08B36FF4; } L_08B36FF4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B37004u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 716u, 0x08B37004u, 0x08B331CCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 661u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 661u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 661u, 0x08B331CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37004u) goto L_08B37004; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37004: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B37140; } goto L_08B3700C; } L_08B3700C: aot_gpr_31 = (0x08B37014u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 718u, 0x08B37014u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37014u) goto L_08B37014; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37014: aot_gpr_31 = (0x08B3701Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 719u, 0x08B3701Cu, 0x0896E470u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 550u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 550u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 550u, 0x0896E470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3701Cu) goto L_08B3701C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3701C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B37114; } goto L_08B37024; } L_08B37024: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); aot_gpr_4 = (static_cast(aot_gpr_4) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B370AC; } goto L_08B37058; } L_08B37058: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-17330))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B370AC; } goto L_08B37064; } L_08B37064: aot_gpr_31 = (0x08B3706Cu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 723u, 0x08B3706Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3706Cu) goto L_08B3706C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3706C: aot_gpr_31 = (0x08B37074u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(636))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 724u, 0x08B37074u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37074u) goto L_08B37074; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37074: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(632))); aot_fpr_12 = ctx.fpr[20] / aot_fpr_12; aot_gpr_4 = (16248u << 16u); aot_gpr_4 = (aot_gpr_4 | 20972u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B370E0; } goto L_08B37098; } L_08B37098: aot_gpr_31 = (0x08B370A0u); 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 == 0x08B370A0u) goto L_08B370A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B370A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B370E0; } goto L_08B370AC; } L_08B370AC: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08B370BCu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B370BCu) goto L_08B370BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B370BC: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 4u); aot_gpr_31 = (0x08B370CCu); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); 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 == 0x08B370CCu) goto L_08B370CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B370CC: aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08B37140; } goto L_08B370E0; } L_08B370E0: aot_gpr_4 = (ctx.gpr[28] + static_cast(4292)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B370F4u); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 731u, 0x08B370F4u, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B370F4u) goto L_08B370F4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B370F4: aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 63u); aot_gpr_31 = (0x08B3710Cu); aot_gpr_6 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 732u, 0x08B3710Cu, 0x08A062F0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 553u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 553u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3710Cu) goto L_08B3710C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3710C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B37140; } goto L_08B37114; } L_08B37114: aot_gpr_4 = (ctx.gpr[28] + static_cast(4300)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B37128u); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 734u, 0x08B37128u, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37128u) goto L_08B37128; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37128: aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 64u); aot_gpr_31 = (0x08B37140u); aot_gpr_6 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 735u, 0x08B37140u, 0x08A062F0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 553u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 553u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37140u) goto L_08B37140; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37140: aot_gpr_31 = (0x08B37148u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 736u, 0x08B37148u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37148u) goto L_08B37148; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37148: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B371BC; } goto L_08B37150; } L_08B37150: aot_gpr_31 = (0x08B37158u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 738u, 0x08B37158u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37158u) goto L_08B37158; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37158: aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08B37164u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 739u, 0x08B37164u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37164u) goto L_08B37164; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37164: aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08B37178u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 740u, 0x08B37178u, 0x08B3312Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 650u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 650u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 650u, 0x08B3312Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37178u) goto L_08B37178; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37178: aot_gpr_4 = (17024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B371BC; } goto L_08B37190; } L_08B37190: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_gpr_4 = (16968u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_fpr_13 = aot_fpr_13 - aot_fpr_15; aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_gpr_31 = (0x08B371BCu); aot_fpr_15 = ctx.fpr[16] + aot_fpr_15; // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 742u, 0x08B371BCu, 0x08894E50u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 190u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 190u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 190u, 0x08894E50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B371BCu) goto L_08B371BC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B371BC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B37F8C; } goto L_08B371C4; } L_08B371C4: aot_gpr_31 = (0x08B371CCu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 744u, 0x08B371CCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B371CCu) goto L_08B371CC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B371CC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B371E8; } goto L_08B371D4; } L_08B371D4: aot_gpr_31 = (0x08B371DCu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 746u, 0x08B371DCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B371DCu) goto L_08B371DC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B371DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B371E8u); aot_gpr_5 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 747u, 0x08B371E8u, 0x08B33BD8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 783u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 783u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 783u, 0x08B33BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B371E8u) goto L_08B371E8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B371E8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); aot_fpr_12 = std::bit_cast(0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B37208; } goto L_08B371F8; } L_08B371F8: aot_gpr_4 = (15523u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B37214; } goto L_08B37208; } L_08B37208: aot_gpr_4 = (15651u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B37214; L_08B37214: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_14 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08B37230; } goto L_08B37230; L_08B37230: 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); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08B37278; } goto L_08B37244; } L_08B37244: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (16256u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(2000)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(156), aot_gpr_4); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B37270u); aot_gpr_6 = (0u | 74u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 753u, 0x08B37270u, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37270u) goto L_08B37270; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37270: aot_gpr_31 = (0x08B37278u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0099. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 754u, 0x08B37278u, 0x089910C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0099_entry(rt, ctx, 232u, aot_mem); #else recomp_unit_0099_entry(rt, ctx, 232u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 232u, 0x089910C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37278u) goto L_08B37278; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37278: aot_gpr_31 = (0x08B37280u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B37280: aot_gpr_31 = (0x08B37288u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 756u, 0x08B37288u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37288u) goto L_08B37288; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37288: if (ctx.gpr[2] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_08B37314; } goto L_08B37290; L_08B37290: aot_gpr_31 = (0x08B37298u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 758u, 0x08B37298u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37298u) goto L_08B37298; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37298: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; aot_gpr_5 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); if (branch_taken) { goto L_08B37304; } goto L_08B372A4; } L_08B372A4: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B37304; } goto L_08B372AC; } L_08B372AC: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2233u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-31088))); jump_target = ctx.gpr[1]; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B372C4: aot_gpr_31 = (0x08B372CCu); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 762u, 0x08B372CCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B372CCu) goto L_08B372CC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B372CC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1752), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_08B37304; } goto L_08B372D4; } L_08B372D4: aot_gpr_31 = (0x08B372DCu); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 764u, 0x08B372DCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B372DCu) goto L_08B372DC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B372DC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1400), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_08B37304; } goto L_08B372E4; } L_08B372E4: aot_gpr_31 = (0x08B372ECu); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 766u, 0x08B372ECu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B372ECu) goto L_08B372EC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B372EC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1752), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_08B37304; } goto L_08B372F4; } L_08B372F4: aot_gpr_31 = (0x08B372FCu); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 768u, 0x08B372FCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B372FCu) goto L_08B372FC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B372FC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1400), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_08B37304; } goto L_08B37304; } L_08B37304: aot_gpr_31 = (0x08B3730Cu); ctx.gpr[17] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 770u, 0x08B3730Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3730Cu) goto L_08B3730C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3730C: aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(627), static_cast(ctx.gpr[17])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_08B37314; L_08B37314: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_gpr_4 = (16968u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_fpr_13 = aot_fpr_13 - aot_fpr_15; aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_gpr_31 = (0x08B3733Cu); aot_fpr_15 = ctx.fpr[16] + aot_fpr_15; // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 772u, 0x08B3733Cu, 0x08894E50u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 190u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 190u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 190u, 0x08894E50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3733Cu) goto L_08B3733C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3733C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B371BC; } goto L_08B37344; } L_08B37344: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(156))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); 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); if (aot_gpr_4 == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_08B37E90; } goto L_08B37360; L_08B37360: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 65u); aot_gpr_31 = (0x08B37378u); aot_gpr_6 = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 775u, 0x08B37378u, 0x08A062F0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 553u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 553u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37378u) goto L_08B37378; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37378: aot_gpr_31 = (0x08B37380u); ctx.gpr[17] = (0u | 0u); 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 == 0x08B37380u) goto L_08B37380; AOT_REGCACHE_SYNC_OUT(); return; L_08B37380: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B373EC; } goto L_08B3738C; } L_08B3738C: aot_gpr_31 = (0x08B37394u); ctx.gpr[17] = (0u | 1u); 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 == 0x08B37394u) goto L_08B37394; AOT_REGCACHE_SYNC_OUT(); return; L_08B37394: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9336))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_31 = (0x08B373A8u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9336), aot_gpr_4); 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 == 0x08B373A8u) goto L_08B373A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B373A8: aot_gpr_31 = (0x08B373B0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2288))); 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 == 0x08B373B0u) goto L_08B373B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B373B0: aot_gpr_31 = (0x08B373B8u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(2292), ctx.gpr[18]); 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 == 0x08B373B8u) goto L_08B373B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B373B8: aot_gpr_31 = (0x08B373C0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); 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 == 0x08B373C0u) goto L_08B373C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B373C0: aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(2324), ctx.gpr[18]); aot_gpr_31 = (0x08B373CCu); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); 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 == 0x08B373CCu) goto L_08B373CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B373CC: aot_gpr_31 = (0x08B373D4u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(2304), ctx.gpr[18]); 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 == 0x08B373D4u) goto L_08B373D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B373D4: aot_gpr_31 = (0x08B373DCu); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(2288), 0u); 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 == 0x08B373DCu) goto L_08B373DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B373DC: aot_gpr_31 = (0x08B373E4u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(2320), 0u); 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 == 0x08B373E4u) goto L_08B373E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B373E4: aot_gpr_31 = (0x08B373ECu); aot_gpr_4 = (ctx.gpr[2] + static_cast(2288)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0172. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 787u, 0x08B373ECu, 0x08AB4098u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0172_entry(rt, ctx, 16u, aot_mem); #else recomp_unit_0172_entry(rt, ctx, 16u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 16u, 0x08AB4098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B373ECu) goto L_08B373EC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B373EC: aot_gpr_31 = (0x08B373F4u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B373F4u) goto L_08B373F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B373F4: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_31 = (0x08B37408u); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); 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 == 0x08B37408u) goto L_08B37408; AOT_REGCACHE_SYNC_OUT(); return; L_08B37408: aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_31 = (0x08B37420u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 790u, 0x08B37420u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37420u) goto L_08B37420; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37420: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B37CEC; } goto L_08B37428; } L_08B37428: aot_gpr_31 = (0x08B37430u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 792u, 0x08B37430u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37430u) goto L_08B37430; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37430: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B37484; } goto L_08B3743C; } L_08B3743C: aot_gpr_31 = (0x08B37444u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 794u, 0x08B37444u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37444u) goto L_08B37444; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37444: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08B37484; } goto L_08B37454; } L_08B37454: aot_gpr_31 = (0x08B3745Cu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 796u, 0x08B3745Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3745Cu) goto L_08B3745C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3745C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08B37484; } goto L_08B3746C; } L_08B3746C: aot_gpr_31 = (0x08B37474u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 798u, 0x08B37474u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37474u) goto L_08B37474; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37474: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B37CEC; } goto L_08B37484; } L_08B37484: aot_gpr_31 = (0x08B3748Cu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 800u, 0x08B3748Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3748Cu) goto L_08B3748C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3748C: aot_gpr_31 = (0x08B37494u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(636))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 801u, 0x08B37494u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37494u) goto L_08B37494; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37494: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(632))); aot_fpr_12 = ctx.fpr[20] / aot_fpr_12; aot_gpr_4 = (16248u << 16u); aot_gpr_4 = (aot_gpr_4 | 20972u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B374BC; } goto L_08B374B8; } L_08B374B8: ctx.gpr[17] = (0u | 1u); goto L_08B374BC; L_08B374BC: aot_gpr_31 = (0x08B374C4u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 804u, 0x08B374C4u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B374C4u) goto L_08B374C4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B374C4: aot_gpr_31 = (0x08B374CCu); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(632))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 805u, 0x08B374CCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B374CCu) goto L_08B374CC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B374CC: aot_gpr_31 = (0x08B374D4u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(636), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 806u, 0x08B374D4u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B374D4u) goto L_08B374D4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B374D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; aot_gpr_5 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); if (branch_taken) { goto L_08B375C0; } goto L_08B374E0; } L_08B374E0: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B375C0; } goto L_08B374E8; } L_08B374E8: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2233u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-31048))); jump_target = ctx.gpr[1]; // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B37500: aot_gpr_31 = (0x08B37508u); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 810u, 0x08B37508u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37508u) goto L_08B37508; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37508: aot_gpr_31 = (0x08B37510u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1752), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 811u, 0x08B37510u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37510u) goto L_08B37510; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37510: aot_gpr_31 = (0x08B37518u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0011. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 812u, 0x08B37518u, 0x088327B0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0011_entry(rt, ctx, 576u, aot_mem); #else recomp_unit_0011_entry(rt, ctx, 576u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 576u, 0x088327B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37518u) goto L_08B37518; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37518: aot_gpr_31 = (0x08B37520u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 813u, 0x08B37520u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37520u) goto L_08B37520; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37520: aot_gpr_31 = (0x08B37528u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0011. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 814u, 0x08B37528u, 0x088331D0u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0011_entry(rt, ctx, 711u, aot_mem); #else recomp_unit_0011_entry(rt, ctx, 711u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 711u, 0x088331D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37528u) goto L_08B37528; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37528: aot_gpr_31 = (0x08B37530u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 815u, 0x08B37530u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37530u) goto L_08B37530; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37530: aot_gpr_31 = (0x08B37538u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0011. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 816u, 0x08B37538u, 0x08832FA8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0011_entry(rt, ctx, 681u, aot_mem); #else recomp_unit_0011_entry(rt, ctx, 681u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 681u, 0x08832FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37538u) goto L_08B37538; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37538: aot_gpr_31 = (0x08B37540u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 817u, 0x08B37540u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37540u) goto L_08B37540; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37540: aot_gpr_31 = (0x08B37548u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0011. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 818u, 0x08B37548u, 0x088330BCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0011_entry(rt, ctx, 696u, aot_mem); #else recomp_unit_0011_entry(rt, ctx, 696u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 696u, 0x088330BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37548u) goto L_08B37548; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37548: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B375C0; } goto L_08B37550; } L_08B37550: aot_gpr_31 = (0x08B37558u); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 820u, 0x08B37558u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37558u) goto L_08B37558; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37558: aot_gpr_31 = (0x08B37560u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1400), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 821u, 0x08B37560u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37560u) goto L_08B37560; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37560: aot_gpr_31 = (0x08B37568u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0149. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 822u, 0x08B37568u, 0x08A5959Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0149_entry(rt, ctx, 311u, aot_mem); #else recomp_unit_0149_entry(rt, ctx, 311u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 311u, 0x08A5959Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37568u) goto L_08B37568; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37568: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B375C0; } goto L_08B37570; } L_08B37570: aot_gpr_31 = (0x08B37578u); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 824u, 0x08B37578u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37578u) goto L_08B37578; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37578: aot_gpr_31 = (0x08B37580u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1752), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 825u, 0x08B37580u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37580u) goto L_08B37580; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37580: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(464)); 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 = (0x08B37598u); 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 == 0x08B37598u) goto L_08B37598; AOT_REGCACHE_SYNC_OUT(); return; L_08B37598: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B375C0; } goto L_08B375A0; } L_08B375A0: aot_gpr_31 = (0x08B375A8u); ctx.fpr[20] = std::bit_cast(0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 828u, 0x08B375A8u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B375A8u) goto L_08B375A8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B375A8: aot_gpr_31 = (0x08B375B0u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1400), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 829u, 0x08B375B0u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B375B0u) goto L_08B375B0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B375B0: aot_gpr_31 = (0x08B375B8u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0149. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 830u, 0x08B375B8u, 0x08A5959Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0149_entry(rt, ctx, 311u, aot_mem); #else recomp_unit_0149_entry(rt, ctx, 311u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 311u, 0x08A5959Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B375B8u) goto L_08B375B8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B375B8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B375C0; } goto L_08B375C0; } L_08B375C0: aot_gpr_31 = (0x08B375C8u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 832u, 0x08B375C8u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B375C8u) goto L_08B375C8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B375C8: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(680), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9344))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_31 = (0x08B375E0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9344), aot_gpr_4); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 833u, 0x08B375E0u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B375E0u) goto L_08B375E0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B375E0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); 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_08B37674; } goto L_08B375F8; } L_08B375F8: aot_gpr_31 = (0x08B37600u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 835u, 0x08B37600u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37600u) goto L_08B37600; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37600: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); aot_gpr_31 = (0x08B3760Cu); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 836u, 0x08B3760Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3760Cu) goto L_08B3760C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3760C: aot_gpr_31 = (0x08B37614u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(32), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 837u, 0x08B37614u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37614u) goto L_08B37614; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37614: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); aot_gpr_31 = (0x08B37620u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 838u, 0x08B37620u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37620u) goto L_08B37620; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37620: aot_gpr_31 = (0x08B37628u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 839u, 0x08B37628u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37628u) goto L_08B37628; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37628: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); aot_gpr_31 = (0x08B37634u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 840u, 0x08B37634u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37634u) goto L_08B37634; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37634: aot_gpr_31 = (0x08B3763Cu); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(40), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 841u, 0x08B3763Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3763Cu) goto L_08B3763C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3763C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_31 = (0x08B37648u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 842u, 0x08B37648u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37648u) goto L_08B37648; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37648: aot_gpr_31 = (0x08B37650u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(0), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 843u, 0x08B37650u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37650u) goto L_08B37650; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37650: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); aot_gpr_31 = (0x08B3765Cu); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 844u, 0x08B3765Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3765Cu) goto L_08B3765C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3765C: aot_gpr_31 = (0x08B37664u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(4), std::bit_cast(ctx.fpr[20])); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 845u, 0x08B37664u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37664u) goto L_08B37664; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37664: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); aot_gpr_31 = (0x08B37670u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 846u, 0x08B37670u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37670u) goto L_08B37670; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37670: aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), std::bit_cast(ctx.fpr[20])); goto L_08B37674; L_08B37674: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B37680u); ctx.gpr[19] = (0u | 1u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 848u, 0x08B37680u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37680u) goto L_08B37680; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37680: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B376D4; } goto L_08B3768C; } L_08B3768C: aot_gpr_31 = (0x08B37694u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 850u, 0x08B37694u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37694u) goto L_08B37694; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37694: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08B376D4; } goto L_08B376A4; } L_08B376A4: aot_gpr_31 = (0x08B376ACu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 852u, 0x08B376ACu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B376ACu) goto L_08B376AC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B376AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08B376D4; } goto L_08B376BC; } L_08B376BC: aot_gpr_31 = (0x08B376C4u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 854u, 0x08B376C4u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B376C4u) goto L_08B376C4; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B376C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B376F0; } goto L_08B376D4; } L_08B376D4: aot_gpr_31 = (0x08B376DCu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 856u, 0x08B376DCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B376DCu) goto L_08B376DC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B376DC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(616)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B376F0; } goto L_08B376EC; } L_08B376EC: ctx.gpr[19] = (0u | 0u); goto L_08B376F0; L_08B376F0: { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_08B37CD8; } goto L_08B376F8; } L_08B376F8: aot_gpr_31 = (0x08B37700u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 860u, 0x08B37700u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37700u) goto L_08B37700; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37700: aot_gpr_31 = (0x08B37708u); ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(896)))))); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 861u, 0x08B37708u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37708u) goto L_08B37708; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37708: aot_gpr_31 = (0x08B37710u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 862u, 0x08B37710u, 0x08AFFDDCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 933u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 933u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 933u, 0x08AFFDDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37710u) goto L_08B37710; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37710: ctx.gpr[19] = (0u | 0u); goto L_08B37714; L_08B37714: aot_gpr_4 = (static_cast(ctx.gpr[19]) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B37750; } goto L_08B37720; } L_08B37720: aot_gpr_31 = (0x08B37728u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 865u, 0x08B37728u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37728u) goto L_08B37728; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37728: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(896)))))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; if (branch_taken) { goto L_08B37750; } goto L_08B37734; } L_08B37734: aot_gpr_31 = (0x08B3773Cu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 867u, 0x08B3773Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3773Cu) goto L_08B3773C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B3773C: aot_gpr_31 = (0x08B37744u); aot_gpr_4 = (ctx.gpr[2] | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0190. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 868u, 0x08B37744u, 0x08AFFDDCu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 933u, aot_mem); #else recomp_unit_0190_entry(rt, ctx, 933u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 933u, 0x08AFFDDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37744u) goto L_08B37744; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37744: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] & 65535u); if (branch_taken) { goto L_08B37714; } goto L_08B37750; } L_08B37750: aot_gpr_4 = (static_cast(ctx.gpr[19]) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B37764; } goto L_08B3775C; } L_08B3775C: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_08B37768; } goto L_08B37764; } L_08B37764: ctx.gpr[18] = (0u | 1u); goto L_08B37768; L_08B37768: aot_gpr_31 = (0x08B37770u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 873u, 0x08B37770u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37770u) goto L_08B37770; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37770: aot_gpr_4 = (ctx.gpr[2] + static_cast(548)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08B37780u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 874u, 0x08B37780u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37780u) goto L_08B37780; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37780: aot_gpr_4 = (ctx.gpr[2] + static_cast(552)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = ctx.gpr[18] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); if (branch_taken) { goto L_08B37CD8; } goto L_08B37790; } L_08B37790: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); { 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_29 + static_cast(32), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); { 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_29 + static_cast(32), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); { 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_29 + static_cast(32), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; aot_gpr_6 = (16128u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_6 = (aot_gpr_29 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[7] = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[7] = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[17]; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[16]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[7] = (aot_gpr_29 + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[17]; { const float fs = ctx.fpr[16]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[16]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[17]; { const float fs = ctx.fpr[16]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_15), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); 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); } aot_gpr_4 = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08B37A78; } goto L_08B37978; } L_08B37978: aot_gpr_5 = (ctx.gpr[19] << 4u); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(64)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_29 + static_cast(208)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_6 = (aot_gpr_29 + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_6 = (aot_gpr_29 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(64)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B379F0; } goto L_08B379EC; } L_08B379EC: ctx.gpr[19] = (aot_gpr_4 | 0u); goto L_08B379F0; L_08B379F0: aot_gpr_5 = (ctx.gpr[20] << 4u); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_29 + static_cast(208)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_6 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_6 = (aot_gpr_29 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08B37A68; } goto L_08B37A64; } L_08B37A64: ctx.gpr[20] = (aot_gpr_4 | 0u); goto L_08B37A68; L_08B37A68: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_08B37978; } goto L_08B37A78; } L_08B37A78: aot_gpr_4 = (ctx.gpr[20] << 4u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_29 + static_cast(192)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(258), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(256), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(257), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 150u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(259), static_cast(aot_gpr_4)); ctx.gpr[21] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[21]) < 200 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B37CD8; } goto L_08B37B20; } L_08B37B20: aot_gpr_4 = (aot_gpr_29 + static_cast(240)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[22] = (aot_gpr_29 + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), std::bit_cast(aot_fpr_12)); ctx.gpr[23] = (aot_gpr_29 + static_cast(224)); { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(352)); { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); ctx.gpr[30] = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] << 4u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_gpr_5 = (ctx.gpr[20] << 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(728), ctx.gpr[20]); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_6 = (aot_gpr_29 + static_cast(368)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_6); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); ctx.gpr[20] = (aot_gpr_29 + static_cast(384)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B37BDCu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37BDCu) goto L_08B37BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B37BDC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(320)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B37C08u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C08u) goto L_08B37C08; AOT_REGCACHE_SYNC_OUT(); return; L_08B37C08: aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (49344u << 16u); aot_gpr_31 = (0x08B37C20u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C20u) goto L_08B37C20; AOT_REGCACHE_SYNC_OUT(); return; L_08B37C20: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B37C4Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C4Cu) goto L_08B37C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B37C4C: aot_gpr_4 = (48844u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08B37C5Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C5Cu) goto L_08B37C5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B37C5C: aot_fpr_12 = ctx.fpr[20] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16840u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } ctx.gpr[8] = (aot_gpr_29 + static_cast(256)); aot_gpr_4 = (0u | 24u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08B37CC0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0063. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 888u, 0x08B37CC0u, 0x0890043Cu)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0063_entry(rt, ctx, 90u, aot_mem); #else recomp_unit_0063_entry(rt, ctx, 90u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37CC0u) goto L_08B37CC0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37CC0: aot_gpr_4 = (ctx.gpr[21] + static_cast(1)); ctx.gpr[21] = (aot_gpr_4 << 16u); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 16u)); aot_gpr_4 = (static_cast(ctx.gpr[21]) < 200 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(728))); if (branch_taken) { goto L_08B37B20; } goto L_08B37CD8; } L_08B37CD8: aot_gpr_31 = (0x08B37CE0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 890u, 0x08B37CE0u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37CE0u) goto L_08B37CE0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37CE0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B37CECu); aot_gpr_5 = (ctx.gpr[2] | 0u); goto L_08B35470; L_08B37CEC: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08B37E34; } goto L_08B37CF4; } L_08B37CF4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-17330))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08B37DD4; } goto L_08B37D00; } L_08B37D00: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (aot_gpr_5 << 8u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_6 = (2238u << 16u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(172))); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-100)); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_08B37D3C; } goto L_08B37D3C; L_08B37D3C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9396))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); ctx.gpr[7] = (17096u << 16u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_6 = (2238u << 16u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); aot_gpr_31 = (0x08B37D7Cu); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9396), std::bit_cast(aot_fpr_12)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 895u, 0x08B37D7Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37D7Cu) goto L_08B37D7C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37D7C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B37DB8; } goto L_08B37D84; } L_08B37D84: aot_gpr_31 = (0x08B37D8Cu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 897u, 0x08B37D8Cu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37D8Cu) goto L_08B37D8C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37D8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B37DB8; } goto L_08B37D9C; } L_08B37D9C: aot_gpr_4 = (ctx.gpr[28] + static_cast(4308)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B37DB0u); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 899u, 0x08B37DB0u, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37DB0u) goto L_08B37DB0; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37DB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B37DCC; } goto L_08B37DB8; } L_08B37DB8: aot_gpr_4 = (ctx.gpr[28] + static_cast(4316)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B37DCCu); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 901u, 0x08B37DCCu, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37DCCu) goto L_08B37DCC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37DCC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B37E84; } goto L_08B37DD4; } L_08B37DD4: aot_gpr_31 = (0x08B37DDCu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 903u, 0x08B37DDCu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37DDCu) goto L_08B37DDC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37DDC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B37E18; } goto L_08B37DE4; } L_08B37DE4: aot_gpr_31 = (0x08B37DECu); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 905u, 0x08B37DECu, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37DECu) goto L_08B37DEC; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37DEC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08B37E18; } goto L_08B37DFC; } L_08B37DFC: aot_gpr_4 = (ctx.gpr[28] + static_cast(4324)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B37E10u); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 907u, 0x08B37E10u, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37E10u) goto L_08B37E10; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37E10: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B37E84; } goto L_08B37E18; } L_08B37E18: aot_gpr_4 = (ctx.gpr[28] + static_cast(4332)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B37E2Cu); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 909u, 0x08B37E2Cu, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37E2Cu) goto L_08B37E2C; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37E2C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B37E84; } goto L_08B37E34; } L_08B37E34: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08B37E84; } goto L_08B37E3C; } L_08B37E3C: aot_gpr_31 = (0x08B37E44u); 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 == 0x08B37E44u) goto L_08B37E44; AOT_REGCACHE_SYNC_OUT(); return; L_08B37E44: aot_gpr_4 = (ctx.gpr[2] & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08B37E70; } goto L_08B37E54; } L_08B37E54: aot_gpr_4 = (ctx.gpr[28] + static_cast(4340)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B37E68u); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 914u, 0x08B37E68u, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37E68u) goto L_08B37E68; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37E68: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B37E84; } goto L_08B37E70; } L_08B37E70: aot_gpr_4 = (ctx.gpr[28] + static_cast(4348)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B37E84u); ctx.gpr[7] = (0u + static_cast(-1)); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0090. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 916u, 0x08B37E84u, 0x0896D898u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); #else recomp_unit_0090_entry(rt, ctx, 399u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37E84u) goto L_08B37E84; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37E84: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(65), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); goto L_08B37E90; L_08B37E90: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_gpr_4 = (16968u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_fpr_13 = aot_fpr_13 - aot_fpr_15; aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_gpr_31 = (0x08B37EB8u); aot_fpr_15 = ctx.fpr[16] + aot_fpr_15; // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0036. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 918u, 0x08B37EB8u, 0x08894E50u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 190u, aot_mem); #else recomp_unit_0036_entry(rt, ctx, 190u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 190u, 0x08894E50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37EB8u) goto L_08B37EB8; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37EB8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B371BC; } goto L_08B37EC0; } L_08B37EC0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(140))); if (branch_taken) { goto L_08B37EDC; } goto L_08B37ECC; } L_08B37ECC: aot_gpr_4 = (15477u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B37EE8; } goto L_08B37EDC; } L_08B37EDC: aot_gpr_4 = (15631u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); aot_fpr_13 = std::bit_cast(aot_gpr_4); goto L_08B37EE8; L_08B37EE8: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); goto L_08B37F08; } goto L_08B37F08; L_08B37F08: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B37F40; } goto L_08B37F1C; } L_08B37F1C: aot_gpr_4 = (0u | 4u); ctx.gpr[7] = (16256u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B37F40u); aot_gpr_6 = (0u | 75u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0128. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 925u, 0x08B37F40u, 0x08A05F80u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); #else recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37F40u) goto L_08B37F40; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37F40: aot_gpr_31 = (0x08B37F48u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B37F48: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B371BC; } goto L_08B37F50; } L_08B37F50: aot_gpr_31 = (0x08B37F58u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 928u, 0x08B37F58u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37F58u) goto L_08B37F58; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37F58: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B37F6C; } goto L_08B37F60; } L_08B37F60: aot_gpr_31 = (0x08B37F68u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0087. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 930u, 0x08B37F68u, 0x089602C8u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); #else recomp_unit_0087_entry(rt, ctx, 28u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37F68u) goto L_08B37F68; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37F68: aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(627), static_cast(0u)); goto L_08B37F6C; L_08B37F6C: aot_gpr_31 = (0x08B37F74u); aot_gpr_4 = (aot_gpr_16 | 0u); // PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0204->0203. #if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) AOT_REGCACHE_SYNC_OUT(); if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0204_entry, 932u, 0x08B37F74u, 0x08B336A4u)) { #if defined(__clang__) [[clang::musttail]] return recomp_unit_0203_entry(rt, ctx, 727u, aot_mem); #else recomp_unit_0203_entry(rt, ctx, 727u, aot_mem); return; #endif } return; #else if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 727u, 0x08B336A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37F74u) goto L_08B37F74; AOT_REGCACHE_SYNC_OUT(); return; #endif L_08B37F74: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08B37F84; } goto L_08B37F7C; } L_08B37F7C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_4)); goto L_08B37F84; L_08B37F84: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08B371BC; } goto L_08B37F8C; } L_08B37F8C: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(732), aot_run_words); ctx.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]; ctx.gpr[22] = aot_run_words[9]; ctx.gpr[23] = aot_run_words[10]; ctx.gpr[30] = aot_run_words[11]; aot_gpr_31 = aot_run_words[12]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(784)); // PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared. if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH; // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08B37FC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(170))); { 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(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B37FF8; } goto L_08B37FE8; } L_08B37FE8: aot_gpr_31 = (0x08B37FF0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B34444; L_08B37FF0: { const bool branch_taken = 0u == 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 192u, 0x08B38920u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08B37FF8; } L_08B37FF8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); aot_gpr_5 = (aot_gpr_4 < static_cast(5) ? 1u : 0u); ctx.pc = 0x08B38000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0204(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0204_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_204(Runtime &runtime) { runtime.register_generated_unit(204u, 0x08B34000u, 16384u, &recomp_unit_0204, &recomp_unit_0204_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x08B34004u, &recomp_unit_0204, "recomp_unit_0204", kEntryMasks_recomp_unit_0204, 64u); } } // namespace psprecomp