#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_0017[64] = { 0x0000020800085001ull, 0x008400000C02A014ull, 0x0202000002200000ull, 0x1000400004400100ull, 0x2400202001000800ull, 0x0800029142041A20ull, 0x0009208800280000ull, 0x5821148210688000ull, 0xA12210500042A828ull, 0x0DA20220010020A0ull, 0x8284949A401026A2ull, 0x2910214141424A82ull, 0xA84802A010804810ull, 0x8000884129048440ull, 0x0000000040002880ull, 0x0142200000000000ull, 0x000035408050A000ull, 0x0000800000000000ull, 0xA90120A244000020ull, 0x1115020100001040ull, 0x010AA8845223002Aull, 0x020000844A001401ull, 0x85101080A9550884ull, 0x4091400102A422A8ull, 0x4282202088820020ull, 0x0A0880A14111014Aull, 0x4282202850440529ull, 0x4050A0880A141101ull, 0x4110142822028504ull, 0x285044050A0880A1ull, 0x2122241200148228ull, 0x1022812929150248ull, 0x1282250410205488ull, 0x40A408A4824A0450ull, 0x9080420402110152ull, 0x0691001001140102ull, 0xB34205219A102049ull, 0x2010B14000001104ull, 0xC0A8100000000101ull, 0x0008481021000850ull, 0x010304240A000010ull, 0x522A949538108800ull, 0x000000A40000020Cull, 0x0000002000000020ull, 0x928040002A822000ull, 0x1480028000485280ull, 0x00000A40000086A2ull, 0x0000020000000200ull, 0x08040002A8220000ull, 0x0014000110A44049ull, 0x08140012292A2148ull, 0x8204081114202000ull, 0x0820408111420040ull, 0x0112000080002004ull, 0x4800A04408800208ull, 0x0400148100410402ull, 0x0211020490249018ull, 0x010A000020000040ull, 0x0000280100800000ull, 0x0000000004800400ull, 0x1010040004040020ull, 0x0400410002000800ull, 0x8044500144488201ull, 0x0400000A800000A8ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0017[64] = { 1u, 7u, 16u, 20u, 25u, 31u, 43u, 50u, 64u, 79u, 91u, 110u, 127u, 140u, 152u, 156u, 160u, 170u, 171u, 183u, 192u, 209u, 218u, 235u, 250u, 261u, 276u, 292u, 306u, 320u, 335u, 349u, 366u, 381u, 397u, 410u, 421u, 441u, 451u, 459u, 468u, 477u, 496u, 502u, 504u, 515u, 526u, 535u, 537u, 545u, 556u, 571u, 581u, 591u, 597u, 607u, 616u, 629u, 634u, 638u, 641u, 647u, 652u, 665u, }; void recomp_unit_0017_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN // PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=3403 fpr_occ=1310 gpr_total=4512 fpr_total=1662 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_redispatch_rounds = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x08848000u; entry_id = 0u; if (entry_delta < 16364u && (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_0017[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_0017[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_08848000; case 2u: goto L_08848030; case 3u: goto L_08848038; case 4u: goto L_0884804C; case 5u: goto L_0884808C; case 6u: goto L_088480A4; case 7u: goto L_08848108; case 8u: goto L_08848110; case 9u: goto L_08848134; case 10u: goto L_0884813C; case 11u: goto L_08848144; case 12u: goto L_08848168; case 13u: goto L_0884816C; case 14u: goto L_088481C8; case 15u: goto L_088481DC; case 16u: goto L_08848254; case 17u: goto L_08848264; case 18u: goto L_088482C4; case 19u: goto L_088482E4; case 20u: goto L_08848320; case 21u: goto L_08848358; case 22u: goto L_08848368; case 23u: goto L_088483B8; case 24u: goto L_088483F0; case 25u: goto L_0884842C; case 26u: goto L_08848460; case 27u: goto L_08848494; case 28u: goto L_088484B4; case 29u: goto L_088484E8; case 30u: goto L_088484F4; case 31u: goto L_08848514; case 32u: goto L_08848524; case 33u: goto L_0884852C; case 34u: goto L_08848530; case 35u: goto L_08848548; case 36u: goto L_08848564; case 37u: goto L_08848578; case 38u: goto L_08848580; case 39u: goto L_08848590; case 40u: goto L_0884859C; case 41u: goto L_088485A4; case 42u: goto L_088485EC; case 43u: goto L_0884864C; case 44u: goto L_08848654; case 45u: goto L_0884868C; case 46u: goto L_0884869C; case 47u: goto L_088486B4; case 48u: goto L_088486C0; case 49u: goto L_088486CC; case 50u: goto L_0884873C; case 51u: goto L_0884874C; case 52u: goto L_08848754; case 53u: goto L_08848758; case 54u: goto L_08848770; case 55u: goto L_08848784; case 56u: goto L_0884879C; case 57u: goto L_088487A8; case 58u: goto L_088487B0; case 59u: goto L_088487C0; case 60u: goto L_088487D4; case 61u: goto L_088487EC; case 62u: goto L_088487F0; case 63u: goto L_088487F8; case 64u: goto L_0884880C; case 65u: goto L_08848814; case 66u: goto L_0884882C; case 67u: goto L_08848834; case 68u: goto L_0884883C; case 69u: goto L_08848844; case 70u: goto L_08848858; case 71u: goto L_08848890; case 72u: goto L_08848898; case 73u: goto L_088488B0; case 74u: goto L_088488C4; case 75u: goto L_088488D4; case 76u: goto L_088488E0; case 77u: goto L_088488F4; case 78u: goto L_088488FC; case 79u: goto L_08848914; case 80u: goto L_0884891C; case 81u: goto L_08848934; case 82u: goto L_08848960; case 83u: goto L_08848994; case 84u: goto L_088489A4; case 85u: goto L_088489C4; case 86u: goto L_088489D4; case 87u: goto L_088489DC; case 88u: goto L_088489E0; case 89u: goto L_088489E8; case 90u: goto L_088489EC; case 91u: goto L_08848A04; case 92u: goto L_08848A14; case 93u: goto L_08848A1C; case 94u: goto L_08848A24; case 95u: goto L_08848A28; case 96u: goto L_08848A34; case 97u: goto L_08848A50; case 98u: goto L_08848A78; case 99u: goto L_08848A84; case 100u: goto L_08848A8C; case 101u: goto L_08848A90; case 102u: goto L_08848A9C; case 103u: goto L_08848AA8; case 104u: goto L_08848AB0; case 105u: goto L_08848ABC; case 106u: goto L_08848AC8; case 107u: goto L_08848ADC; case 108u: goto L_08848AE4; case 109u: goto L_08848AFC; case 110u: goto L_08848B04; case 111u: goto L_08848B1C; case 112u: goto L_08848B24; case 113u: goto L_08848B2C; case 114u: goto L_08848B38; case 115u: goto L_08848B44; case 116u: goto L_08848B58; case 117u: goto L_08848B60; case 118u: goto L_08848B78; case 119u: goto L_08848B80; case 120u: goto L_08848B98; case 121u: goto L_08848BA0; case 122u: goto L_08848BB4; case 123u: goto L_08848BD0; case 124u: goto L_08848BE0; case 125u: goto L_08848BEC; case 126u: goto L_08848BF4; case 127u: goto L_08848C10; case 128u: goto L_08848C2C; case 129u: goto L_08848C38; case 130u: goto L_08848C5C; case 131u: goto L_08848C70; case 132u: goto L_08848C94; case 133u: goto L_08848C9C; case 134u: goto L_08848CA4; case 135u: goto L_08848CCC; case 136u: goto L_08848CD8; case 137u: goto L_08848CEC; case 138u: goto L_08848CF4; case 139u: goto L_08848CFC; case 140u: goto L_08848D18; case 141u: goto L_08848D28; case 142u: goto L_08848D3C; case 143u: goto L_08848D48; case 144u: goto L_08848D60; case 145u: goto L_08848D6C; case 146u: goto L_08848D74; case 147u: goto L_08848D80; case 148u: goto L_08848D98; case 149u: goto L_08848DAC; case 150u: goto L_08848DBC; case 151u: goto L_08848DFC; case 152u: goto L_08848E1C; case 153u: goto L_08848E2C; case 154u: goto L_08848E34; case 155u: goto L_08848E78; case 156u: goto L_08848FB4; case 157u: goto L_08848FC4; case 158u: goto L_08848FD8; case 159u: goto L_08848FE0; case 160u: goto L_08849034; case 161u: goto L_0884903C; case 162u: goto L_08849050; case 163u: goto L_08849058; case 164u: goto L_0884907C; case 165u: goto L_08849098; case 166u: goto L_088490A0; case 167u: goto L_088490A8; case 168u: goto L_088490B0; case 169u: goto L_088490B4; case 170u: goto L_088491BC; case 171u: goto L_08849214; case 172u: goto L_08849268; case 173u: goto L_08849278; case 174u: goto L_08849284; case 175u: goto L_08849294; case 176u: goto L_0884929C; case 177u: goto L_088492B4; case 178u: goto L_088492C0; case 179u: goto L_088492E0; case 180u: goto L_088492EC; case 181u: goto L_088492F4; case 182u: goto L_088492FC; case 183u: goto L_08849318; case 184u: goto L_08849330; case 185u: goto L_08849380; case 186u: goto L_088493A4; case 187u: goto L_088493C0; case 188u: goto L_088493C8; case 189u: goto L_088493D0; case 190u: goto L_088493E0; case 191u: goto L_088493F0; case 192u: goto L_08849404; case 193u: goto L_0884940C; case 194u: goto L_08849414; case 195u: goto L_08849440; case 196u: goto L_08849444; case 197u: goto L_08849454; case 198u: goto L_08849464; case 199u: goto L_08849470; case 200u: goto L_08849478; case 201u: goto L_08849488; case 202u: goto L_0884949C; case 203u: goto L_088494AC; case 204u: goto L_088494B4; case 205u: goto L_088494BC; case 206u: goto L_088494C4; case 207u: goto L_088494CC; case 208u: goto L_088494E0; case 209u: goto L_08849500; case 210u: goto L_08849528; case 211u: goto L_08849530; case 212u: goto L_08849564; case 213u: goto L_0884956C; case 214u: goto L_08849578; case 215u: goto L_08849588; case 216u: goto L_0884959C; case 217u: goto L_088495E4; case 218u: goto L_08849608; case 219u: goto L_0884961C; case 220u: goto L_0884962C; case 221u: goto L_08849640; case 222u: goto L_08849648; case 223u: goto L_08849650; case 224u: goto L_08849658; case 225u: goto L_08849660; case 226u: goto L_0884966C; case 227u: goto L_08849674; case 228u: goto L_0884967C; case 229u: goto L_0884969C; case 230u: goto L_088496B0; case 231u: goto L_088496D0; case 232u: goto L_088496E0; case 233u: goto L_088496E8; case 234u: goto L_088496FC; case 235u: goto L_0884970C; case 236u: goto L_08849714; case 237u: goto L_0884971C; case 238u: goto L_08849724; case 239u: goto L_08849734; case 240u: goto L_08849748; case 241u: goto L_08849754; case 242u: goto L_0884975C; case 243u: goto L_08849764; case 244u: goto L_08849780; case 245u: goto L_088497B8; case 246u: goto L_088497C0; case 247u: goto L_088497D0; case 248u: goto L_088497DC; case 249u: goto L_088497F8; case 250u: goto L_08849814; case 251u: goto L_08849844; case 252u: goto L_0884985C; case 253u: goto L_0884986C; case 254u: goto L_0884987C; case 255u: goto L_08849894; case 256u: goto L_088498B4; case 257u: goto L_088498C4; case 258u: goto L_088498DC; case 259u: goto L_088498E4; case 260u: goto L_088498F8; case 261u: goto L_08849904; case 262u: goto L_0884990C; case 263u: goto L_08849918; case 264u: goto L_08849920; case 265u: goto L_08849940; case 266u: goto L_08849950; case 267u: goto L_08849960; case 268u: goto L_08849978; case 269u: goto L_08849980; case 270u: goto L_08849994; case 271u: goto L_0884999C; case 272u: goto L_088499BC; case 273u: goto L_088499CC; case 274u: goto L_088499E4; case 275u: goto L_088499EC; case 276u: goto L_08849A00; case 277u: goto L_08849A0C; case 278u: goto L_08849A14; case 279u: goto L_08849A20; case 280u: goto L_08849A28; case 281u: goto L_08849A48; case 282u: goto L_08849A58; case 283u: goto L_08849A70; case 284u: goto L_08849A78; case 285u: goto L_08849A8C; case 286u: goto L_08849A94; case 287u: goto L_08849AB4; case 288u: goto L_08849AC4; case 289u: goto L_08849ADC; case 290u: goto L_08849AE4; case 291u: goto L_08849AF8; case 292u: goto L_08849B00; case 293u: goto L_08849B20; case 294u: goto L_08849B30; case 295u: goto L_08849B48; case 296u: goto L_08849B50; case 297u: goto L_08849B64; case 298u: goto L_08849B6C; case 299u: goto L_08849B8C; case 300u: goto L_08849B9C; case 301u: goto L_08849BB4; case 302u: goto L_08849BBC; case 303u: goto L_08849BD0; case 304u: goto L_08849BD8; case 305u: goto L_08849BF8; case 306u: goto L_08849C08; case 307u: goto L_08849C20; case 308u: goto L_08849C28; case 309u: goto L_08849C3C; case 310u: goto L_08849C44; case 311u: goto L_08849C64; case 312u: goto L_08849C74; case 313u: goto L_08849C8C; case 314u: goto L_08849C94; case 315u: goto L_08849CA8; case 316u: goto L_08849CB0; case 317u: goto L_08849CD0; case 318u: goto L_08849CE0; case 319u: goto L_08849CF8; case 320u: goto L_08849D00; case 321u: goto L_08849D14; case 322u: goto L_08849D1C; case 323u: goto L_08849D3C; case 324u: goto L_08849D4C; case 325u: goto L_08849D64; case 326u: goto L_08849D6C; case 327u: goto L_08849D80; case 328u: goto L_08849D88; case 329u: goto L_08849DA8; case 330u: goto L_08849DB8; case 331u: goto L_08849DD0; case 332u: goto L_08849DD8; case 333u: goto L_08849DEC; case 334u: goto L_08849DF4; case 335u: goto L_08849E0C; case 336u: goto L_08849E14; case 337u: goto L_08849E24; case 338u: goto L_08849E3C; case 339u: goto L_08849E48; case 340u: goto L_08849E50; case 341u: goto L_08849E84; case 342u: goto L_08849E90; case 343u: goto L_08849EA8; case 344u: goto L_08849EB4; case 345u: goto L_08849EC4; case 346u: goto L_08849ED4; case 347u: goto L_08849EE0; case 348u: goto L_08849EF4; case 349u: goto L_08849F0C; case 350u: goto L_08849F18; case 351u: goto L_08849F24; case 352u: goto L_08849F40; case 353u: goto L_08849F48; case 354u: goto L_08849F50; case 355u: goto L_08849F60; case 356u: goto L_08849F6C; case 357u: goto L_08849F74; case 358u: goto L_08849F80; case 359u: goto L_08849F8C; case 360u: goto L_08849F94; case 361u: goto L_08849FA0; case 362u: goto L_08849FBC; case 363u: goto L_08849FC4; case 364u: goto L_08849FD4; case 365u: goto L_08849FF0; case 366u: goto L_0884A00C; case 367u: goto L_0884A01C; case 368u: goto L_0884A028; case 369u: goto L_0884A030; case 370u: goto L_0884A038; case 371u: goto L_0884A054; case 372u: goto L_0884A070; case 373u: goto L_0884A088; case 374u: goto L_0884A0A0; case 375u: goto L_0884A0A8; case 376u: goto L_0884A0B4; case 377u: goto L_0884A0C4; case 378u: goto L_0884A0DC; case 379u: goto L_0884A0E4; case 380u: goto L_0884A0F0; case 381u: goto L_0884A110; case 382u: goto L_0884A118; case 383u: goto L_0884A128; case 384u: goto L_0884A144; case 385u: goto L_0884A14C; case 386u: goto L_0884A158; case 387u: goto L_0884A164; case 388u: goto L_0884A17C; case 389u: goto L_0884A188; case 390u: goto L_0884A194; case 391u: goto L_0884A19C; case 392u: goto L_0884A1AC; case 393u: goto L_0884A1C8; case 394u: goto L_0884A1D4; case 395u: goto L_0884A1DC; case 396u: goto L_0884A1F8; case 397u: goto L_0884A204; case 398u: goto L_0884A210; case 399u: goto L_0884A218; case 400u: goto L_0884A220; case 401u: goto L_0884A240; case 402u: goto L_0884A250; case 403u: goto L_0884A264; case 404u: goto L_0884A288; case 405u: goto L_0884A2A4; case 406u: goto L_0884A2B8; case 407u: goto L_0884A2DC; case 408u: goto L_0884A2F0; case 409u: goto L_0884A2FC; case 410u: goto L_0884A304; case 411u: goto L_0884A320; case 412u: goto L_0884A348; case 413u: goto L_0884A350; case 414u: goto L_0884A360; case 415u: goto L_0884A390; case 416u: goto L_0884A3C0; case 417u: goto L_0884A3D0; case 418u: goto L_0884A3DC; case 419u: goto L_0884A3E4; case 420u: goto L_0884A3E8; case 421u: goto L_0884A400; case 422u: goto L_0884A40C; case 423u: goto L_0884A418; case 424u: goto L_0884A434; case 425u: goto L_0884A450; case 426u: goto L_0884A464; case 427u: goto L_0884A46C; case 428u: goto L_0884A470; case 429u: goto L_0884A47C; case 430u: goto L_0884A480; case 431u: goto L_0884A494; case 432u: goto L_0884A4A0; case 433u: goto L_0884A4A8; case 434u: goto L_0884A4C4; case 435u: goto L_0884A4D8; case 436u: goto L_0884A4E0; case 437u: goto L_0884A4E4; case 438u: goto L_0884A4F0; case 439u: goto L_0884A4F4; case 440u: goto L_0884A4FC; case 441u: goto L_0884A508; case 442u: goto L_0884A520; case 443u: goto L_0884A530; case 444u: goto L_0884A598; case 445u: goto L_0884A5A0; case 446u: goto L_0884A5B0; case 447u: goto L_0884A5B4; case 448u: goto L_0884A5BC; case 449u: goto L_0884A5D0; case 450u: goto L_0884A5F4; case 451u: goto L_0884A600; case 452u: goto L_0884A620; case 453u: goto L_0884A6B0; case 454u: goto L_0884A6CC; case 455u: goto L_0884A6D4; case 456u: goto L_0884A6DC; case 457u: goto L_0884A6F8; case 458u: goto L_0884A6FC; case 459u: goto L_0884A710; case 460u: goto L_0884A718; case 461u: goto L_0884A72C; case 462u: goto L_0884A760; case 463u: goto L_0884A774; case 464u: goto L_0884A790; case 465u: goto L_0884A7AC; case 466u: goto L_0884A7B8; case 467u: goto L_0884A7CC; case 468u: goto L_0884A810; case 469u: goto L_0884A864; case 470u: goto L_0884A86C; case 471u: goto L_0884A888; case 472u: goto L_0884A894; case 473u: goto L_0884A8A8; case 474u: goto L_0884A8C0; case 475u: goto L_0884A8C4; case 476u: goto L_0884A8E0; case 477u: goto L_0884A92C; case 478u: goto L_0884A93C; case 479u: goto L_0884A950; case 480u: goto L_0884A96C; case 481u: goto L_0884A970; case 482u: goto L_0884A974; case 483u: goto L_0884A980; case 484u: goto L_0884A988; case 485u: goto L_0884A990; case 486u: goto L_0884A99C; case 487u: goto L_0884A9A8; case 488u: goto L_0884A9B0; case 489u: goto L_0884A9BC; case 490u: goto L_0884A9C4; case 491u: goto L_0884A9CC; case 492u: goto L_0884A9D4; case 493u: goto L_0884A9E4; case 494u: goto L_0884A9F0; case 495u: goto L_0884A9F8; case 496u: goto L_0884AA08; case 497u: goto L_0884AA0C; case 498u: goto L_0884AA24; case 499u: goto L_0884AA88; case 500u: goto L_0884AA94; case 501u: goto L_0884AA9C; case 502u: goto L_0884AB14; case 503u: goto L_0884AB94; case 504u: goto L_0884AC34; case 505u: goto L_0884AC44; case 506u: goto L_0884AC5C; case 507u: goto L_0884AC64; case 508u: goto L_0884AC6C; case 509u: goto L_0884AC74; case 510u: goto L_0884ACB8; case 511u: goto L_0884ACDC; case 512u: goto L_0884ACE4; case 513u: goto L_0884ACF0; case 514u: goto L_0884ACFC; case 515u: goto L_0884AD1C; case 516u: goto L_0884AD24; case 517u: goto L_0884AD30; case 518u: goto L_0884AD38; case 519u: goto L_0884AD4C; case 520u: goto L_0884AD58; case 521u: goto L_0884AD9C; case 522u: goto L_0884ADA4; case 523u: goto L_0884ADDC; case 524u: goto L_0884ADE8; case 525u: goto L_0884ADF0; case 526u: goto L_0884AE04; case 527u: goto L_0884AE14; case 528u: goto L_0884AE1C; case 529u: goto L_0884AE24; case 530u: goto L_0884AE28; case 531u: goto L_0884AE3C; case 532u: goto L_0884AE98; case 533u: goto L_0884AEA4; case 534u: goto L_0884AEAC; case 535u: goto L_0884AF24; case 536u: goto L_0884AFA4; case 537u: goto L_0884B044; case 538u: goto L_0884B054; case 539u: goto L_0884B06C; case 540u: goto L_0884B074; case 541u: goto L_0884B07C; case 542u: goto L_0884B084; case 543u: goto L_0884B0C8; case 544u: goto L_0884B0EC; case 545u: goto L_0884B100; case 546u: goto L_0884B10C; case 547u: goto L_0884B118; case 548u: goto L_0884B138; case 549u: goto L_0884B148; case 550u: goto L_0884B154; case 551u: goto L_0884B15C; case 552u: goto L_0884B170; case 553u: goto L_0884B180; case 554u: goto L_0884B1C8; case 555u: goto L_0884B1D0; case 556u: goto L_0884B20C; case 557u: goto L_0884B218; case 558u: goto L_0884B220; case 559u: goto L_0884B234; case 560u: goto L_0884B244; case 561u: goto L_0884B24C; case 562u: goto L_0884B254; case 563u: goto L_0884B260; case 564u: goto L_0884B26C; case 565u: goto L_0884B274; case 566u: goto L_0884B284; case 567u: goto L_0884B290; case 568u: goto L_0884B2C8; case 569u: goto L_0884B2D0; case 570u: goto L_0884B2EC; case 571u: goto L_0884B334; case 572u: goto L_0884B354; case 573u: goto L_0884B368; case 574u: goto L_0884B370; case 575u: goto L_0884B380; case 576u: goto L_0884B390; case 577u: goto L_0884B3AC; case 578u: goto L_0884B3C8; case 579u: goto L_0884B3E4; case 580u: goto L_0884B3FC; case 581u: goto L_0884B418; case 582u: goto L_0884B444; case 583u: goto L_0884B458; case 584u: goto L_0884B460; case 585u: goto L_0884B470; case 586u: goto L_0884B480; case 587u: goto L_0884B49C; case 588u: goto L_0884B4B8; case 589u: goto L_0884B4D4; case 590u: goto L_0884B4EC; case 591u: goto L_0884B508; case 592u: goto L_0884B534; case 593u: goto L_0884B57C; case 594u: goto L_0884B5C4; case 595u: goto L_0884B5D0; case 596u: goto L_0884B5E0; case 597u: goto L_0884B60C; case 598u: goto L_0884B624; case 599u: goto L_0884B65C; case 600u: goto L_0884B66C; case 601u: goto L_0884B688; case 602u: goto L_0884B698; case 603u: goto L_0884B6B4; case 604u: goto L_0884B6BC; case 605u: goto L_0884B6EC; case 606u: goto L_0884B6F8; case 607u: goto L_0884B704; case 608u: goto L_0884B728; case 609u: goto L_0884B740; case 610u: goto L_0884B758; case 611u: goto L_0884B780; case 612u: goto L_0884B79C; case 613u: goto L_0884B7A8; case 614u: goto L_0884B7B0; case 615u: goto L_0884B7E8; case 616u: goto L_0884B80C; case 617u: goto L_0884B810; case 618u: goto L_0884B830; case 619u: goto L_0884B83C; case 620u: goto L_0884B848; case 621u: goto L_0884B854; case 622u: goto L_0884B870; case 623u: goto L_0884B87C; case 624u: goto L_0884B888; case 625u: goto L_0884B8A4; case 626u: goto L_0884B8C0; case 627u: goto L_0884B8D0; case 628u: goto L_0884B8E4; case 629u: goto L_0884B918; case 630u: goto L_0884B974; case 631u: goto L_0884B9C4; case 632u: goto L_0884B9CC; case 633u: goto L_0884B9E0; case 634u: goto L_0884BA5C; case 635u: goto L_0884BA80; case 636u: goto L_0884BAAC; case 637u: goto L_0884BAB4; case 638u: goto L_0884BB28; case 639u: goto L_0884BB5C; case 640u: goto L_0884BB68; case 641u: goto L_0884BC14; case 642u: goto L_0884BC48; case 643u: goto L_0884BC68; case 644u: goto L_0884BCA8; case 645u: goto L_0884BCD0; case 646u: goto L_0884BCF0; case 647u: goto L_0884BD2C; case 648u: goto L_0884BD64; case 649u: goto L_0884BDA0; case 650u: goto L_0884BDB8; case 651u: goto L_0884BDE8; case 652u: goto L_0884BE00; case 653u: goto L_0884BE24; case 654u: goto L_0884BE3C; case 655u: goto L_0884BE4C; case 656u: goto L_0884BE58; case 657u: goto L_0884BE68; case 658u: goto L_0884BE78; case 659u: goto L_0884BE80; case 660u: goto L_0884BEB0; case 661u: goto L_0884BEB8; case 662u: goto L_0884BEC8; case 663u: goto L_0884BED8; case 664u: goto L_0884BEFC; case 665u: goto L_0884BF0C; case 666u: goto L_0884BF14; case 667u: goto L_0884BF1C; case 668u: goto L_0884BF7C; case 669u: goto L_0884BF84; case 670u: goto L_0884BF8C; case 671u: goto L_0884BFE8; default: if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry"); else ctx.pc = local_pc; AOT_REGCACHE_SYNC_OUT(); return; } } // PSPRECOMP_V812_SHARED_SCHED_BLOCK: one scheduler-exact slow boundary per unit. LOCAL_SCHED_BOUNDARY: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); if (local_redispatch_rounds < 7u && rt.continue_generated_local_dispatch(ctx)) { ++local_redispatch_rounds; AOT_REGCACHE_SYNC_IN(); local_transfers = 0u; local_pc = ctx.pc; entry_id = 0u; goto LOCAL_DISPATCH; } return; L_08848000: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); ctx.gpr[23] = (aot_gpr_29 + static_cast(192)); { 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_31 = (0x08848030u); 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 == 0x08848030u) goto L_08848030; AOT_REGCACHE_SYNC_OUT(); return; L_08848030: aot_gpr_31 = (0x08848038u); aot_gpr_16 = (ctx.gpr[2] | 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 == 0x08848038u) goto L_08848038; AOT_REGCACHE_SYNC_OUT(); return; L_08848038: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0884804Cu); ctx.gpr[7] = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 109u, 0x08A50AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884804Cu) goto L_0884804C; AOT_REGCACHE_SYNC_OUT(); return; L_0884804C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(208)); ctx.gpr[7] = (aot_gpr_29 + static_cast(240)); ctx.gpr[2] = (0u | 1u); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[2], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0884808Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884808Cu) goto L_0884808C; AOT_REGCACHE_SYNC_OUT(); return; L_0884808C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); aot_gpr_5 = (15820u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[30] = (aot_gpr_29 + static_cast(244)); if (branch_taken) { goto L_0884813C; } goto L_088480A4; } L_088480A4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(216))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(304)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t 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); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (15651u << 16u); aot_gpr_5 = (aot_gpr_5 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(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 = (0x08848108u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848108u) goto L_08848108; AOT_REGCACHE_SYNC_OUT(); return; L_08848108: aot_gpr_31 = (0x08848110u); 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 == 0x08848110u) goto L_08848110; AOT_REGCACHE_SYNC_OUT(); return; L_08848110: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 10u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); aot_gpr_31 = (0x08848134u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848134u) goto L_08848134; AOT_REGCACHE_SYNC_OUT(); return; L_08848134: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(832), ctx.gpr[20]); if (branch_taken) { goto L_0884816C; } goto L_0884813C; } L_0884813C: aot_gpr_31 = (0x08848144u); 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 == 0x08848144u) goto L_08848144; AOT_REGCACHE_SYNC_OUT(); return; L_08848144: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 10u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); aot_gpr_31 = (0x08848168u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848168u) goto L_08848168; AOT_REGCACHE_SYNC_OUT(); return; L_08848168: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(832), ctx.gpr[20]); goto L_0884816C; L_0884816C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(244), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(245), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(246), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(247), static_cast(0u)); { 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); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16000u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[21] = (std::bit_cast(aot_fpr_12)); aot_gpr_16 = (0u | 0u); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (aot_gpr_29 + static_cast(368)); if (branch_taken) { goto L_08848264; } goto L_088481C8; } L_088481C8: ctx.fpr[26] = std::bit_cast(ctx.gpr[21]); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(ctx.fpr[26]))); ctx.gpr[18] = (aot_gpr_29 + static_cast(352)); ctx.gpr[17] = (aot_gpr_29 + static_cast(400)); ctx.gpr[20] = (aot_gpr_29 + static_cast(384)); goto L_088481DC; L_088481DC: { 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); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_gpr_16); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = aot_fpr_12 / ctx.fpr[26]; 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[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.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[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(384), aot_run_words); } aot_gpr_4 = (0u | 53u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08848254u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); 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 == 0x08848254u) goto L_08848254; AOT_REGCACHE_SYNC_OUT(); return; L_08848254: aot_gpr_16 = (aot_gpr_16 + static_cast(1)); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088481DC; } goto L_08848264; } L_08848264: { 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); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); ctx.gpr[19] = (aot_gpr_29 + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (16752u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(416)); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_16 = (aot_gpr_29 + static_cast(432)); aot_gpr_4 = (16320u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(832))); goto L_088482C4; L_088482C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(840), std::bit_cast(ctx.fpr[26])); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fpr[26] = aot_fpr_12 / ctx.fpr[26]; { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088482E4u); 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 == 0x088482E4u) goto L_088482E4; AOT_REGCACHE_SYNC_OUT(); return; L_088482E4: aot_fpr_13 = ctx.fpr[22] - ctx.fpr[28]; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[28] + aot_fpr_13; aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.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 = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(ctx.fpr[26])); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08848320u); 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 == 0x08848320u) goto L_08848320; AOT_REGCACHE_SYNC_OUT(); return; L_08848320: aot_fpr_12 = ctx.fpr[30] - 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; { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 18u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 3u); aot_gpr_31 = (0x08848358u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); 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 == 0x08848358u) goto L_08848358; AOT_REGCACHE_SYNC_OUT(); return; L_08848358: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 15 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(840))); if (branch_taken) { goto L_088482C4; } goto L_08848368; } L_08848368: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(272), aot_run_words); } aot_gpr_16 = (0u | 250u); { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (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_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(836))); { 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>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (15779u << 16u); aot_gpr_5 = (aot_gpr_5 | 55050u); 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); ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); if (branch_taken) { goto L_088483F0; } goto L_088483B8; } L_088483B8: aot_gpr_16 = (0u | 125u); aot_gpr_5 = (16544u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(320))); { 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; } aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(324))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); goto L_088483F0; L_088483F0: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (0u | 15u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x0884842Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); 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 == 0x0884842Cu) goto L_0884842C; AOT_REGCACHE_SYNC_OUT(); return; L_0884842C: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); ctx.gpr[21] = (aot_gpr_29 + static_cast(256)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[22] = (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[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08848460u); aot_gpr_5 = (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 == 0x08848460u) goto L_08848460; AOT_REGCACHE_SYNC_OUT(); return; L_08848460: aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08848494u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); 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 == 0x08848494u) goto L_08848494; AOT_REGCACHE_SYNC_OUT(); return; L_08848494: aot_gpr_4 = (std::bit_cast(ctx.fpr[24])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } 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[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088484B4u); aot_gpr_5 = (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 == 0x088484B4u) goto L_088484B4; AOT_REGCACHE_SYNC_OUT(); return; L_088484B4: aot_gpr_4 = (15897u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x088484E8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); 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 == 0x088484E8u) goto L_088484E8; AOT_REGCACHE_SYNC_OUT(); return; L_088484E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1344))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088485A4; } goto L_088484F4; } L_088484F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); aot_gpr_16 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(448)); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1344))); if (branch_taken) { goto L_0884852C; } goto L_08848514; } L_08848514: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); if (branch_taken) { goto L_08848530; } goto L_08848524; } L_08848524: aot_gpr_31 = (0x0884852Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(512))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884852Cu) goto L_0884852C; AOT_REGCACHE_SYNC_OUT(); return; L_0884852C: aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); goto L_08848530; L_08848530: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), aot_gpr_4); aot_gpr_31 = (0x08848548u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848548u) goto L_08848548; AOT_REGCACHE_SYNC_OUT(); return; L_08848548: aot_gpr_4 = (aot_gpr_29 + static_cast(496)); { 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(528)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1852))); aot_gpr_31 = (0x08848564u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848564u) goto L_08848564; AOT_REGCACHE_SYNC_OUT(); return; L_08848564: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(528), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08848578u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848578u) goto L_08848578; AOT_REGCACHE_SYNC_OUT(); return; L_08848578: aot_gpr_31 = (0x08848580u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848580u) goto L_08848580; AOT_REGCACHE_SYNC_OUT(); return; L_08848580: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088485A4; } goto L_08848590; } L_08848590: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(512))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088485A4; } goto L_0884859C; } L_0884859C: aot_gpr_31 = (0x088485A4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(512))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088485A4u) goto L_088485A4; AOT_REGCACHE_SYNC_OUT(); return; L_088485A4: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(844), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(912)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088485EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), 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(472), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (49024u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17692u << 16u); aot_gpr_4 = (aot_gpr_4 | 16384u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0884864Cu); 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 == 0x0884864Cu) goto L_0884864C; AOT_REGCACHE_SYNC_OUT(); return; L_0884864C: { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; if (branch_taken) { goto L_08848E34; } goto L_08848654; } L_08848654: ctx.gpr[17] = (0u + static_cast(-1)); aot_gpr_4 = (17948u << 16u); aot_gpr_4 = (aot_gpr_4 | 15360u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); ctx.gpr[20] = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.fpr[26] = std::bit_cast(0u); if (branch_taken) { goto L_0884869C; } goto L_0884868C; } L_0884868C: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0884869C; L_0884869C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088486B4u); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); 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 == 0x088486B4u) goto L_088486B4; AOT_REGCACHE_SYNC_OUT(); return; L_088486B4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088486C0u); aot_gpr_5 = (0u | 22u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 886u, 0x0885F634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088486C0u) goto L_088486C0; AOT_REGCACHE_SYNC_OUT(); return; L_088486C0: ctx.gpr[23] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[23] == 0u; if (branch_taken) { goto L_088487B0; } goto L_088486CC; } L_088486CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); ctx.gpr[21] = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); ctx.gpr[22] = (aot_gpr_29 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(64))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); ctx.gpr[23] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (14877u << 16u); aot_gpr_4 = (aot_gpr_4 | 18770u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { 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_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1352))); if (branch_taken) { goto L_08848754; } goto L_0884873C; } L_0884873C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[30] + static_cast(16)); if (branch_taken) { goto L_08848758; } goto L_0884874C; } L_0884874C: aot_gpr_31 = (0x08848754u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848754u) goto L_08848754; AOT_REGCACHE_SYNC_OUT(); return; L_08848754: aot_gpr_4 = (ctx.gpr[30] + static_cast(16)); goto L_08848758; L_08848758: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); aot_gpr_31 = (0x08848770u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848770u) goto L_08848770; AOT_REGCACHE_SYNC_OUT(); return; L_08848770: { 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.gpr[21] = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08848784u); aot_gpr_4 = (ctx.gpr[22] | 0u); 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 == 0x08848784u) goto L_08848784; AOT_REGCACHE_SYNC_OUT(); return; L_08848784: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088487B0; } goto L_0884879C; } L_0884879C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088487B0; } goto L_088487A8; } L_088487A8: aot_gpr_31 = (0x088487B0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088487B0u) goto L_088487B0; AOT_REGCACHE_SYNC_OUT(); return; L_088487B0: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088487C0u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 39u, 0x08830288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088487C0u) goto L_088487C0; AOT_REGCACHE_SYNC_OUT(); return; L_088487C0: { 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(aot_gpr_16 + static_cast(1864))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; if (branch_taken) { goto L_08848AB0; } goto L_088487D4; } L_088487D4: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[7] = (aot_gpr_29 + static_cast(128)); if (branch_taken) { goto L_088488B0; } goto L_088487EC; } L_088487EC: aot_gpr_6 = (0u | 0u); goto L_088487F0; L_088487F0: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_0884880C; } goto L_088487F8; } L_088487F8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_08848814; } goto L_0884880C; L_0884880C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0884883C; } goto L_08848814; } L_08848814: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); if (aot_gpr_5 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_08848834; } goto L_0884882C; L_0884882C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0884883C; } goto L_08848834; } L_08848834: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); goto L_0884883C; L_0884883C: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_08848898; } goto L_08848844; } L_08848844: ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(292))); { const bool branch_taken = ctx.gpr[8] != ctx.gpr[9]; if (branch_taken) { goto L_08848898; } goto L_08848858; } L_08848858: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_5 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848898; } goto L_08848890; } L_08848890: ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_08848898; L_08848898: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); 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_6 = (aot_gpr_6 + static_cast(544)); if (branch_taken) { goto L_088487F0; } goto L_088488B0; } L_088488B0: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; if (branch_taken) { goto L_08848AB0; } goto L_088488C4; } L_088488C4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848AB0; } goto L_088488D4; } L_088488D4: ctx.gpr[19] = (aot_gpr_29 + static_cast(160)); { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; ctx.gpr[21] = (aot_gpr_29 + static_cast(144)); if (branch_taken) { goto L_088488F4; } goto L_088488E0; } L_088488E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_088488FC; } goto L_088488F4; L_088488F4: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08848934; } goto L_088488FC; } L_088488FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); 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_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_0884891C; } goto L_08848914; L_08848914: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08848934; } goto L_0884891C; } L_0884891C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 5u); aot_gpr_6 = (0u + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); goto L_08848934; L_08848934: aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = 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>(); { 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); } ctx.gpr[22] = (aot_gpr_29 + static_cast(176)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08848960u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848960u) goto L_08848960; AOT_REGCACHE_SYNC_OUT(); return; L_08848960: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(328))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), aot_gpr_4); ctx.gpr[23] = (aot_gpr_29 + static_cast(256)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08848994u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 934u, 0x0885FE8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848994u) goto L_08848994; AOT_REGCACHE_SYNC_OUT(); return; L_08848994: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088489A4u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 39u, 0x08830288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088489A4u) goto L_088489A4; AOT_REGCACHE_SYNC_OUT(); return; L_088489A4: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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); } ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[28]) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[28]) || std::isnan(ctx.fpr[26])) && ctx.fpr[28] == ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_088489DC; } goto L_088489C4; } L_088489C4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088489E0; } goto L_088489D4; L_088489D4: { const bool branch_taken = 0u == 0u; ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (branch_taken) { goto L_088489EC; } goto L_088489DC; } L_088489DC: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088489E0; L_088489E0: aot_gpr_31 = (0x088489E8u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088489E8u) goto L_088489E8; AOT_REGCACHE_SYNC_OUT(); return; L_088489E8: ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_088489EC; L_088489EC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (branch_taken) { goto L_08848A1C; } goto L_08848A04; } L_08848A04: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[26])) && aot_fpr_13 == ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848A1C; } goto L_08848A14; } L_08848A14: { const bool branch_taken = 0u == 0u; ctx.fpr[28] = ctx.fpr[28] - ctx.fpr[26]; if (branch_taken) { goto L_08848A28; } goto L_08848A1C; } L_08848A1C: aot_gpr_31 = (0x08848A24u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848A24u) goto L_08848A24; AOT_REGCACHE_SYNC_OUT(); return; L_08848A24: ctx.fpr[28] = ctx.fpr[28] - ctx.fpr[0]; goto L_08848A28; L_08848A28: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08848A34u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848A34u) goto L_08848A34; AOT_REGCACHE_SYNC_OUT(); return; L_08848A34: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08848A50u); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 422u, 0x0882BB00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848A50u) goto L_08848A50; AOT_REGCACHE_SYNC_OUT(); return; L_08848A50: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(444), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1864), ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1868), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(328))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); goto L_08848A90; } goto L_08848A78; L_08848A78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); goto L_08848A90; } goto L_08848A84; L_08848A84: aot_gpr_31 = (0x08848A8Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848A8Cu) goto L_08848A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08848A8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); goto L_08848A90; L_08848A90: aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08848AB0; } goto L_08848A9C; } L_08848A9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08848AB0; } goto L_08848AA8; } L_08848AA8: aot_gpr_31 = (0x08848AB0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848AB0u) goto L_08848AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08848AB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1864))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08848B2C; } goto L_08848ABC; } L_08848ABC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1864))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08848ADC; } goto L_08848AC8; } L_08848AC8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_08848AE4; } goto L_08848ADC; L_08848ADC: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08848B1C; } goto L_08848AE4; } L_08848AE4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); if (aot_gpr_5 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_08848B04; } goto L_08848AFC; L_08848AFC: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08848B1C; } goto L_08848B04; } L_08848B04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_6 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08848B1C; L_08848B1C: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08848B2C; } goto L_08848B24; } L_08848B24: aot_gpr_4 = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1864), aot_gpr_4); goto L_08848B2C; L_08848B2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1864))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08848BF4; } goto L_08848B38; } L_08848B38: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1864))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { goto L_08848B58; } goto L_08848B44; } L_08848B44: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_08848B60; } goto L_08848B58; L_08848B58: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08848B98; } goto L_08848B60; } L_08848B60: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); if (aot_gpr_5 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); goto L_08848B80; } goto L_08848B78; L_08848B78: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08848B98; } goto L_08848B80; } L_08848B80: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_6 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08848B98; L_08848B98: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08848BF4; } goto L_08848BA0; } L_08848BA0: ctx.gpr[18] = (aot_gpr_4 + static_cast(352)); ctx.gpr[17] = (aot_gpr_29 + static_cast(336)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08848BB4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848BB4u) goto L_08848BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08848BB4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1868))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08848BD0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848BD0u) goto L_08848BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08848BD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(408))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08848BF4; } goto L_08848BE0; } L_08848BE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(400))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08848BF4; } goto L_08848BEC; } L_08848BEC: aot_gpr_31 = (0x08848BF4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(400))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848BF4u) goto L_08848BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08848BF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29640))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848C2C; } goto L_08848C10; } L_08848C10: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(56))); aot_gpr_6 = (aot_gpr_4 + static_cast(-1)); aot_gpr_6 = (aot_gpr_6 << 5u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-29640), std::bit_cast(aot_fpr_12)); goto L_08848C2C; L_08848C2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1864))); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08848C9C; } goto L_08848C38; } L_08848C38: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (16968u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08848C9C; } goto L_08848C5C; } L_08848C5C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); goto L_08848C70; L_08848C70: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(56))); ctx.gpr[7] = (aot_gpr_5 << 5u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_6 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); if (branch_taken) { goto L_08848C70; } goto L_08848C94; } L_08848C94: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08848CCC; } goto L_08848C9C; } L_08848C9C: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); goto L_08848CA4; L_08848CA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29640))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(56))); ctx.gpr[7] = (aot_gpr_5 << 5u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_6 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); if (branch_taken) { goto L_08848CA4; } goto L_08848CCC; } L_08848CCC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1872), static_cast(0u)); aot_gpr_31 = (0x08848CD8u); 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 == 0x08848CD8u) goto L_08848CD8; AOT_REGCACHE_SYNC_OUT(); return; L_08848CD8: ctx.gpr[17] = (ctx.gpr[2] | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848D18; } goto L_08848CEC; } L_08848CEC: { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08848E34; } goto L_08848CF4; } L_08848CF4: aot_gpr_31 = (0x08848CFCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848CFCu) goto L_08848CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08848CFC: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848E34; } goto L_08848D18; } L_08848D18: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848D3C; } goto L_08848D28; } L_08848D28: { const float fs = ctx.fpr[22]; const float ft = aot_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_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08848E34; } goto L_08848D3C; } L_08848D3C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08848D48u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848D48u) goto L_08848D48; AOT_REGCACHE_SYNC_OUT(); return; L_08848D48: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848D6C; } goto L_08848D60; } L_08848D60: aot_gpr_4 = (49440u << 16u); { const bool branch_taken = 0u == 0u; aot_fpr_20 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08848D74; } goto L_08848D6C; } L_08848D6C: aot_gpr_4 = (49568u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_08848D74; L_08848D74: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08848D80u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848D80u) goto L_08848D80; AOT_REGCACHE_SYNC_OUT(); return; L_08848D80: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16192u << 16u); if (branch_taken) { goto L_08848DAC; } goto L_08848D98; } L_08848D98: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848E34; } goto L_08848DAC; } L_08848DAC: ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08848DBCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848DBCu) goto L_08848DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08848DBC: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_12; const float ft = aot_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_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { 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 = (15360u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 16u); ctx.gpr[17] = (static_cast(static_cast(aot_gpr_4) >> 16u)); ctx.gpr[17] = (ctx.gpr[18] + ctx.gpr[17]); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 0 ? 1u : 0u); if (aot_gpr_4 != 0u) { ctx.gpr[17] = (0u | 0u); goto L_08848DFC; } goto L_08848DFC; L_08848DFC: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(ctx.gpr[17])); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08848E2C; } goto L_08848E1C; } L_08848E1C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[22])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08848E34; } goto L_08848E2C; } L_08848E2C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1872), static_cast(aot_gpr_4)); goto L_08848E34; L_08848E34: { std::uint32_t aot_run_words[15]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(472), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; ctx.gpr[22] = aot_run_words[11]; ctx.gpr[23] = aot_run_words[12]; ctx.gpr[30] = aot_run_words[13]; aot_gpr_31 = aot_run_words[14]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(544)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08848E78: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(240), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.gpr[23] = (aot_gpr_16 + static_cast(16)); { 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); } aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[22] = (aot_gpr_16 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_fpr_12 = aot_fpr_12 - ctx.fpr[16]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_gpr_4 = (16544u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); ctx.gpr[21] = (aot_gpr_29 + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[20] = (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[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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[19] = (aot_gpr_29 + static_cast(112)); ctx.gpr[18] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_31 = (0x08848FB4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848FB4u) goto L_08848FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08848FB4: ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); ctx.fpr[22] = ctx.fpr[22] + aot_fpr_20; { const bool branch_taken = ctx.gpr[2] == 0u; aot_fpr_20 = std::bit_cast(0u); if (branch_taken) { goto L_08848FD8; } goto L_08848FC4; } L_08848FC4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(592), aot_gpr_4); if (branch_taken) { goto L_08848FE0; } goto L_08848FD8; } L_08848FD8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(672))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_08848FE0; L_08848FE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_31 = (0x08849034u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849034u) goto L_08849034; AOT_REGCACHE_SYNC_OUT(); return; L_08849034: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849050; } goto L_0884903C; } L_0884903C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(592), aot_gpr_4); if (branch_taken) { goto L_08849058; } goto L_08849050; } L_08849050: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); goto L_08849058; L_08849058: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_12 = aot_fpr_12 / ctx.fpr[22]; aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_20)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_0884907C; } goto L_0884907C; L_0884907C: aot_gpr_4 = (15897u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_14 = std::bit_cast(aot_gpr_4); 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_088490A8; } goto L_08849098; } L_08849098: aot_gpr_31 = (0x088490A0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 36u, 0x08B6033Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088490A0u) goto L_088490A0; AOT_REGCACHE_SYNC_OUT(); return; L_088490A0: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_088490B4; } goto L_088490A8; } L_088490A8: aot_gpr_31 = (0x088490B0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 26u, 0x089644F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088490B0u) goto L_088490B0; AOT_REGCACHE_SYNC_OUT(); return; L_088490B0: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_088490B4; L_088490B4: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); 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_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; aot_fpr_12 = aot_fpr_12 / ctx.fpr[22]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[17]; ctx.fpr[16] = ctx.fpr[16] / ctx.fpr[22]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_20)); { 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)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[16]) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(ctx.fpr[15])); { 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_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), std::bit_cast(aot_fpr_14)); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { 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<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); } { 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(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_mem.aot_direct_store32(aot_gpr_16 + 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(180))); aot_mem.aot_direct_store32(aot_gpr_16 + 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(184))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } 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>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(384)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088491BCu); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); 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 == 0x088491BCu) goto L_088491BC; AOT_REGCACHE_SYNC_OUT(); return; L_088491BC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[0]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; ctx.gpr[21] = aot_run_words[8]; ctx.gpr[22] = aot_run_words[9]; ctx.gpr[23] = aot_run_words[10]; aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(288)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08849214: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(124), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 & 65535u); aot_gpr_5 = (16042u << 16u); aot_gpr_5 = (aot_gpr_5 | 32506u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(0u); aot_gpr_16 = (aot_gpr_4 | 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_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08849278; } goto L_08849268; } L_08849268: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(268))); ctx.gpr[17] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(306))); aot_gpr_4 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); goto L_08849278; L_08849278: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088492C0; } goto L_08849284; } L_08849284: 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 != 0u; if (branch_taken) { goto L_088492C0; } goto L_08849294; } L_08849294: aot_gpr_31 = (0x0884929Cu); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 223u, 0x0899103Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884929Cu) goto L_0884929C; AOT_REGCACHE_SYNC_OUT(); return; L_0884929C: aot_gpr_4 = (17096u << 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_088492C0; } goto L_088492B4; } L_088492B4: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_088492C0; L_088492C0: aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088492F4; } goto L_088492E0; } L_088492E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); goto L_088492FC; } goto L_088492EC; L_088492EC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088493A4; } goto L_088492F4; } L_088492F4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A360; } goto L_088492FC; } L_088492FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088493A4; } goto L_08849318; } L_08849318: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088493A4; } goto L_08849330; } L_08849330: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(796))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_5 = (aot_gpr_16 + static_cast(288)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); 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_088493A4; } goto L_08849380; } L_08849380: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_20 = aot_fpr_20 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088493A4; } goto L_088493A4; L_088493A4: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); 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_08849444; } goto L_088493C0; } L_088493C0: aot_gpr_31 = (0x088493C8u); 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 == 0x088493C8u) goto L_088493C8; AOT_REGCACHE_SYNC_OUT(); return; L_088493C8: { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; if (branch_taken) { goto L_08849444; } goto L_088493D0; } L_088493D0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1653)))))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884940C; } goto L_088493E0; } L_088493E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884940C; } goto L_088493F0; } L_088493F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_5 = (0u | 80u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08849414; } goto L_08849404; } L_08849404: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849444; } goto L_0884940C; } L_0884940C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A360; } goto L_08849414; } L_08849414: aot_fpr_12 = std::bit_cast(0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_13 - aot_fpr_14; 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_08849440; } goto L_08849440; L_08849440: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_13)); goto L_08849444; L_08849444: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-972)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08849464; } goto L_08849454; } L_08849454: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-971)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08849470; } goto L_08849464; } L_08849464: aot_gpr_4 = (16256u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08849478; } goto L_08849470; } L_08849470: aot_gpr_4 = (16840u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); goto L_08849478; L_08849478: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884A128; } goto L_08849488; } L_08849488: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_5 = (0u | 80u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0884A128; } goto L_0884949C; } L_0884949C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08849578; } goto L_088494AC; } L_088494AC: aot_gpr_31 = (0x088494B4u); 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 == 0x088494B4u) goto L_088494B4; AOT_REGCACHE_SYNC_OUT(); return; L_088494B4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849578; } goto L_088494BC; } L_088494BC: aot_gpr_31 = (0x088494C4u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); 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 == 0x088494C4u) goto L_088494C4; AOT_REGCACHE_SYNC_OUT(); return; L_088494C4: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; if (branch_taken) { goto L_08849578; } goto L_088494CC; } L_088494CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_5 = (0u | 64u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08849578; } goto L_088494E0; } L_088494E0: aot_gpr_4 = (aot_gpr_16 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08849500u); 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 == 0x08849500u) goto L_08849500; AOT_REGCACHE_SYNC_OUT(); return; L_08849500: aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08849578; } goto L_08849528; } L_08849528: aot_gpr_31 = (0x08849530u); 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 == 0x08849530u) goto L_08849530; AOT_REGCACHE_SYNC_OUT(); return; L_08849530: aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08849578; } goto L_08849564; } L_08849564: aot_gpr_31 = (0x0884956Cu); 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 == 0x0884956Cu) goto L_0884956C; AOT_REGCACHE_SYNC_OUT(); return; L_0884956C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08849578u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849578u) goto L_08849578; AOT_REGCACHE_SYNC_OUT(); return; L_08849578: 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 != 0u; aot_gpr_4 = (16968u << 16u); if (branch_taken) { goto L_0884961C; } goto L_08849588; } L_08849588: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884961C; } goto L_0884959C; } L_0884959C: aot_gpr_4 = (17274u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (17658u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); aot_fpr_13 = aot_fpr_13 / ctx.fpr[15]; aot_gpr_4 = (17096u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 + ctx.fpr[16]; 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_088495E4; } goto L_088495E4; L_088495E4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.gpr[18] = (aot_gpr_4 & 255u); aot_gpr_4 = (0u | 40000u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); ctx.gpr[19] = (aot_gpr_4 & 65535u); aot_gpr_31 = (0x08849608u); 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 == 0x08849608u) goto L_08849608; AOT_REGCACHE_SYNC_OUT(); return; L_08849608: aot_gpr_5 = (ctx.gpr[19] << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0884961Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 954u, 0x0898BB3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884961Cu) goto L_0884961C; AOT_REGCACHE_SYNC_OUT(); return; L_0884961C: 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 == 0u; if (branch_taken) { goto L_08849660; } goto L_0884962C; } L_0884962C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08849660; } goto L_08849640; } L_08849640: aot_gpr_31 = (0x08849648u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); 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 == 0x08849648u) goto L_08849648; AOT_REGCACHE_SYNC_OUT(); return; L_08849648: { const bool branch_taken = ctx.gpr[18] == ctx.gpr[2]; if (branch_taken) { goto L_08849660; } goto L_08849650; } L_08849650: aot_gpr_31 = (0x08849658u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); 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 == 0x08849658u) goto L_08849658; AOT_REGCACHE_SYNC_OUT(); return; L_08849658: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; if (branch_taken) { goto L_08849674; } goto L_08849660; } L_08849660: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884967C; } goto L_0884966C; } L_0884966C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849734; } goto L_08849674; } L_08849674: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A360; } goto L_0884967C; } L_0884967C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088496B0; } goto L_0884969C; } L_0884969C: aot_gpr_4 = (0u | 42u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(688), aot_gpr_4); if (branch_taken) { goto L_08849734; } goto L_088496B0; } L_088496B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 14u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08849734; } goto L_088496D0; } L_088496D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08849734; } goto L_088496E0; } L_088496E0: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08849714; } goto L_088496E8; } L_088496E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(108))); ctx.gpr[19] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x088496FCu); ctx.gpr[20] = (ctx.gpr[18] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088496FCu) goto L_088496FC; AOT_REGCACHE_SYNC_OUT(); return; L_088496FC: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x0884970Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884970Cu) goto L_0884970C; AOT_REGCACHE_SYNC_OUT(); return; L_0884970C: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0884971C; } goto L_08849714; } L_08849714: { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_0884971C; } goto L_0884971C; } L_0884971C: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_08849734; } goto L_08849724; } L_08849724: aot_gpr_4 = (0u | 42u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(688), aot_gpr_4); goto L_08849734; L_08849734: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (4096u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884975C; } goto L_08849748; } L_08849748: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); goto L_08849764; } goto L_08849754; L_08849754: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088497C0; } goto L_0884975C; } L_0884975C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A360; } goto L_08849764; } L_08849764: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088497C0; } goto L_08849780; } L_08849780: aot_gpr_4 = (aot_gpr_16 + static_cast(288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_16 + static_cast(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<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); 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_088497C0; } goto L_088497B8; } L_088497B8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A360; } goto L_088497C0; } L_088497C0: ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088497F8; } goto L_088497D0; } L_088497D0: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); aot_gpr_31 = (0x088497DCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088497DCu) goto L_088497DC; AOT_REGCACHE_SYNC_OUT(); return; L_088497DC: aot_gpr_4 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.gpr[2]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088497D0; } goto L_088497F8; } L_088497F8: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); 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_08849844; } goto L_08849814; } L_08849814: aot_gpr_4 = (aot_gpr_16 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08849E50; } goto L_08849844; } L_08849844: aot_gpr_4 = (16320u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884986C; } goto L_0884985C; } L_0884985C: aot_gpr_4 = (15872u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } if (branch_taken) { goto L_0884986C; } goto L_0884986C; } L_0884986C: aot_gpr_4 = (ctx.gpr[17] + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 < static_cast(17) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[17] + static_cast(-1)); if (branch_taken) { goto L_08849E50; } goto L_0884987C; } L_0884987C: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2231u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(18848))); jump_target = ctx.gpr[1]; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_08849894: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 12u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x088498B4u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088498B4u) goto L_088498B4; AOT_REGCACHE_SYNC_OUT(); return; L_088498B4: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088498C4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088498C4u) goto L_088498C4; AOT_REGCACHE_SYNC_OUT(); return; L_088498C4: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x088498DCu); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088498DCu) goto L_088498DC; AOT_REGCACHE_SYNC_OUT(); return; L_088498DC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_088498F8; } goto L_088498E4; } L_088498E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 12u); aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x088498F8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088498F8u) goto L_088498F8; AOT_REGCACHE_SYNC_OUT(); return; L_088498F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1336))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_16 + static_cast(944)); if (branch_taken) { goto L_08849918; } goto L_08849904; } L_08849904: aot_gpr_31 = (0x0884990Cu); aot_gpr_5 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 374u, 0x08B0D8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884990Cu) goto L_0884990C; AOT_REGCACHE_SYNC_OUT(); return; L_0884990C: aot_gpr_4 = (0u | 3u); { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; if (branch_taken) { goto L_08849920; } goto L_08849918; } L_08849918: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849920; } L_08849920: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 18u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849940u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849940u) goto L_08849940; AOT_REGCACHE_SYNC_OUT(); return; L_08849940: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849950u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849950u) goto L_08849950; AOT_REGCACHE_SYNC_OUT(); return; L_08849950: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-950)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08849994; } goto L_08849960; } L_08849960: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849978u); aot_gpr_5 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849978u) goto L_08849978; AOT_REGCACHE_SYNC_OUT(); return; L_08849978: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849994; } goto L_08849980; } L_08849980: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08849994u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849994u) goto L_08849994; AOT_REGCACHE_SYNC_OUT(); return; L_08849994: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_0884999C; } L_0884999C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 13u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x088499BCu); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088499BCu) goto L_088499BC; AOT_REGCACHE_SYNC_OUT(); return; L_088499BC: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088499CCu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088499CCu) goto L_088499CC; AOT_REGCACHE_SYNC_OUT(); return; L_088499CC: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x088499E4u); aot_gpr_5 = (0u | 17u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088499E4u) goto L_088499E4; AOT_REGCACHE_SYNC_OUT(); return; L_088499E4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849A00; } goto L_088499EC; } L_088499EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 13u); aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08849A00u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A00u) goto L_08849A00; AOT_REGCACHE_SYNC_OUT(); return; L_08849A00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1340))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_16 + static_cast(944)); if (branch_taken) { goto L_08849A20; } goto L_08849A0C; } L_08849A0C: aot_gpr_31 = (0x08849A14u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 374u, 0x08B0D8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A14u) goto L_08849A14; AOT_REGCACHE_SYNC_OUT(); return; L_08849A14: aot_gpr_4 = (0u | 3u); { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; if (branch_taken) { goto L_08849A28; } goto L_08849A20; } L_08849A20: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849A28; } L_08849A28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 19u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849A48u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A48u) goto L_08849A48; AOT_REGCACHE_SYNC_OUT(); return; L_08849A48: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849A58u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A58u) goto L_08849A58; AOT_REGCACHE_SYNC_OUT(); return; L_08849A58: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849A70u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A70u) goto L_08849A70; AOT_REGCACHE_SYNC_OUT(); return; L_08849A70: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849A8C; } goto L_08849A78; } L_08849A78: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 19u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08849A8Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A8Cu) goto L_08849A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08849A8C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849A94; } L_08849A94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 10u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849AB4u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849AB4u) goto L_08849AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08849AB4: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849AC4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849AC4u) goto L_08849AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08849AC4: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849ADCu); aot_gpr_5 = (0u | 7u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849ADCu) goto L_08849ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08849ADC: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849AF8; } goto L_08849AE4; } L_08849AE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08849AF8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849AF8u) goto L_08849AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08849AF8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849B00; } L_08849B00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 8u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849B20u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B20u) goto L_08849B20; AOT_REGCACHE_SYNC_OUT(); return; L_08849B20: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849B30u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B30u) goto L_08849B30; AOT_REGCACHE_SYNC_OUT(); return; L_08849B30: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849B48u); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B48u) goto L_08849B48; AOT_REGCACHE_SYNC_OUT(); return; L_08849B48: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849B64; } goto L_08849B50; } L_08849B50: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08849B64u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B64u) goto L_08849B64; AOT_REGCACHE_SYNC_OUT(); return; L_08849B64: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849B6C; } L_08849B6C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 11u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849B8Cu); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B8Cu) goto L_08849B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08849B8C: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849B9Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B9Cu) goto L_08849B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08849B9C: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849BB4u); aot_gpr_5 = (0u | 9u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849BB4u) goto L_08849BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08849BB4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849BD0; } goto L_08849BBC; } L_08849BBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 11u); aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08849BD0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849BD0u) goto L_08849BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08849BD0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849BD8; } L_08849BD8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 9u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849BF8u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849BF8u) goto L_08849BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08849BF8: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849C08u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C08u) goto L_08849C08; AOT_REGCACHE_SYNC_OUT(); return; L_08849C08: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849C20u); aot_gpr_5 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C20u) goto L_08849C20; AOT_REGCACHE_SYNC_OUT(); return; L_08849C20: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849C3C; } goto L_08849C28; } L_08849C28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 9u); aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08849C3Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C3Cu) goto L_08849C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08849C3C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849C44; } L_08849C44: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 15u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849C64u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C64u) goto L_08849C64; AOT_REGCACHE_SYNC_OUT(); return; L_08849C64: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849C74u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C74u) goto L_08849C74; AOT_REGCACHE_SYNC_OUT(); return; L_08849C74: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849C8Cu); aot_gpr_5 = (0u | 11u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C8Cu) goto L_08849C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08849C8C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849CA8; } goto L_08849C94; } L_08849C94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 15u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08849CA8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849CA8u) goto L_08849CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08849CA8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849CB0; } L_08849CB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 14u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849CD0u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849CD0u) goto L_08849CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08849CD0: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849CE0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849CE0u) goto L_08849CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08849CE0: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849CF8u); aot_gpr_5 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849CF8u) goto L_08849CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08849CF8: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849D14; } goto L_08849D00; } L_08849D00: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 14u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08849D14u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D14u) goto L_08849D14; AOT_REGCACHE_SYNC_OUT(); return; L_08849D14: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849D1C; } L_08849D1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 17u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849D3Cu); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D3Cu) goto L_08849D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08849D3C: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849D4Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D4Cu) goto L_08849D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08849D4C: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849D64u); aot_gpr_5 = (0u | 13u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D64u) goto L_08849D64; AOT_REGCACHE_SYNC_OUT(); return; L_08849D64: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849D80; } goto L_08849D6C; } L_08849D6C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 17u); aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08849D80u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D80u) goto L_08849D80; AOT_REGCACHE_SYNC_OUT(); return; L_08849D80: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849D88; } L_08849D88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 16u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849DA8u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849DA8u) goto L_08849DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08849DA8: { const float fs = ctx.fpr[22]; const float ft = aot_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 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08849DB8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849DB8u) goto L_08849DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08849DB8: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849DD0u); aot_gpr_5 = (0u | 14u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849DD0u) goto L_08849DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08849DD0: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849DEC; } goto L_08849DD8; } L_08849DD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08849DECu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849DECu) goto L_08849DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08849DEC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849DF4; } L_08849DF4: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_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_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(200))); aot_gpr_31 = (0x08849E0Cu); aot_gpr_5 = (0u | 15u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 388u, 0x08B0D978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849E0Cu) goto L_08849E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08849E0C: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_08849E50; } goto L_08849E14; } L_08849E14: ctx.gpr[17] = (aot_gpr_16 + static_cast(944)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08849E24u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 374u, 0x08B0D8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849E24u) goto L_08849E24; AOT_REGCACHE_SYNC_OUT(); return; L_08849E24: ctx.gpr[18] = (ctx.gpr[2] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 20u); aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08849E3Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849E3Cu) goto L_08849E3C; AOT_REGCACHE_SYNC_OUT(); return; L_08849E3C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08849E48u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 374u, 0x08B0D8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849E48u) goto L_08849E48; AOT_REGCACHE_SYNC_OUT(); return; L_08849E48: { const bool branch_taken = ctx.gpr[18] == ctx.gpr[2]; if (branch_taken) { goto L_08849E50; } goto L_08849E50; } L_08849E50: aot_fpr_12 = aot_fpr_20 - ctx.fpr[24]; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(200))); { 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 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } { const float fs = ctx.fpr[22]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-958)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08849EB4; } goto L_08849E84; } L_08849E84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08849EB4; } goto L_08849E90; } L_08849E90: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08849EB4; } goto L_08849EA8; } L_08849EA8: aot_gpr_4 = (16608u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08849EB4; L_08849EB4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-972)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08849ED4; } goto L_08849EC4; } L_08849EC4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-971)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_08849EE0; } goto L_08849ED4; } L_08849ED4: aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08849EE0; L_08849EE0: aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884A0B4; } goto L_08849EF4; } L_08849EF4: aot_gpr_4 = (16544u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_08849FA0; } goto L_08849F0C; } L_08849F0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08849FA0; } goto L_08849F18; } L_08849F18: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_08849FA0; } goto L_08849F24; } L_08849F24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08849FA0; } goto L_08849F40; } L_08849F40: aot_gpr_31 = (0x08849F48u); 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 == 0x08849F48u) goto L_08849F48; AOT_REGCACHE_SYNC_OUT(); return; L_08849F48: { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; if (branch_taken) { goto L_08849F60; } goto L_08849F50; } L_08849F50: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_08849FA0; } goto L_08849F60; } L_08849F60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_08849FA0; } goto L_08849F6C; } L_08849F6C: aot_gpr_31 = (0x08849F74u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849F74u) goto L_08849F74; AOT_REGCACHE_SYNC_OUT(); return; L_08849F74: aot_gpr_4 = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; if (branch_taken) { goto L_08849F94; } goto L_08849F80; } L_08849F80: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_31 = (0x08849F8Cu); aot_gpr_5 = (0u | 143u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849F8Cu) goto L_08849F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08849F8C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_08849FA0; } goto L_08849F94; } L_08849F94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_31 = (0x08849FA0u); aot_gpr_5 = (0u | 143u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849FA0u) goto L_08849FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08849FA0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_4 << 16u); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); aot_gpr_31 = (0x08849FBCu); 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 == 0x08849FBCu) goto L_08849FBC; AOT_REGCACHE_SYNC_OUT(); return; L_08849FBC: { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; if (branch_taken) { goto L_0884A00C; } goto L_08849FC4; } L_08849FC4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_08849FF0; } goto L_08849FD4; } L_08849FD4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884A088; } goto L_08849FF0; } L_08849FF0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (16576u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_20 / aot_fpr_13; aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884A088; } goto L_0884A00C; } L_0884A00C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884A070; } goto L_0884A01C; } L_0884A01C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A054; } goto L_0884A028; } L_0884A028: aot_gpr_31 = (0x0884A030u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); 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 == 0x0884A030u) goto L_0884A030; AOT_REGCACHE_SYNC_OUT(); return; L_0884A030: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; if (branch_taken) { goto L_0884A054; } goto L_0884A038; } L_0884A038: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (16320u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_20 / aot_fpr_13; aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884A088; } goto L_0884A054; } L_0884A054: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (16000u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884A088; } goto L_0884A070; } L_0884A070: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (16704u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_20 / aot_fpr_13; aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); goto L_0884A088; L_0884A088: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); 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_0884A0B4; } goto L_0884A0A0; } L_0884A0A0: { const bool branch_taken = static_cast(ctx.gpr[17]) <= 0; if (branch_taken) { goto L_0884A0B4; } goto L_0884A0A8; } L_0884A0A8: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); goto L_0884A0B4; L_0884A0B4: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A128; } goto L_0884A0C4; } L_0884A0C4: aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_4 = (aot_gpr_16 + static_cast(944)); if (branch_taken) { goto L_0884A118; } goto L_0884A0DC; } L_0884A0DC: aot_gpr_31 = (0x0884A0E4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A0E4u) goto L_0884A0E4; AOT_REGCACHE_SYNC_OUT(); return; L_0884A0E4: aot_gpr_4 = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; if (branch_taken) { goto L_0884A118; } goto L_0884A0F0; } L_0884A0F0: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x0884A110u); aot_gpr_6 = (0u | 19u); 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 == 0x0884A110u) goto L_0884A110; AOT_REGCACHE_SYNC_OUT(); return; L_0884A110: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A128; } goto L_0884A118; } L_0884A118: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884A0C4; } goto L_0884A128; } L_0884A128: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884A19C; } goto L_0884A144; } L_0884A144: aot_gpr_31 = (0x0884A14Cu); aot_gpr_4 = (aot_gpr_16 + static_cast(944)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A14Cu) goto L_0884A14C; AOT_REGCACHE_SYNC_OUT(); return; L_0884A14C: aot_gpr_4 = (ctx.gpr[2] < static_cast(225) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A204; } goto L_0884A158; } L_0884A158: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); aot_gpr_31 = (0x0884A164u); aot_gpr_5 = (0u | 225u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A164u) goto L_0884A164; AOT_REGCACHE_SYNC_OUT(); return; L_0884A164: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1752), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1840), aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A204; } goto L_0884A17C; } L_0884A17C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1840))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A204; } goto L_0884A188; } L_0884A188: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1840))); aot_gpr_31 = (0x0884A194u); aot_gpr_5 = (aot_gpr_16 + static_cast(1840)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A194u) goto L_0884A194; AOT_REGCACHE_SYNC_OUT(); return; L_0884A194: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A204; } goto L_0884A19C; } L_0884A19C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-967)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0884A204; } goto L_0884A1AC; } L_0884A1AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (17352u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884A1DC; } goto L_0884A1C8; } L_0884A1C8: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); aot_gpr_31 = (0x0884A1D4u); aot_gpr_5 = (0u | 200u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A1D4u) goto L_0884A1D4; AOT_REGCACHE_SYNC_OUT(); return; L_0884A1D4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A204; } goto L_0884A1DC; } L_0884A1DC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (17430u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884A204; } goto L_0884A1F8; } L_0884A1F8: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); aot_gpr_31 = (0x0884A204u); aot_gpr_5 = (0u | 100u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A204u) goto L_0884A204; AOT_REGCACHE_SYNC_OUT(); return; L_0884A204: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A360; } goto L_0884A210; } L_0884A210: aot_gpr_31 = (0x0884A218u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A218u) goto L_0884A218; AOT_REGCACHE_SYNC_OUT(); return; L_0884A218: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0884A360; } goto L_0884A220; } L_0884A220: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); 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_0884A360; } goto L_0884A240; } L_0884A240: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A360; } goto L_0884A250; } L_0884A250: aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(240))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[17] << 2u); if (branch_taken) { goto L_0884A350; } goto L_0884A264; } L_0884A264: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(240))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A350; } goto L_0884A288; } L_0884A288: aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(240))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_6 = (0u + static_cast(-939)); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[18] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_0884A350; } goto L_0884A2A4; } L_0884A2A4: aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0884A2B8u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 157u, 0x08830B98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A2B8u) goto L_0884A2B8; AOT_REGCACHE_SYNC_OUT(); return; L_0884A2B8: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29636))); 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_0884A350; } goto L_0884A2DC; } L_0884A2DC: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 42u); aot_gpr_31 = (0x0884A2F0u); aot_gpr_6 = (0u | 10u); goto L_0884A390; L_0884A2F0: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0884A320; } goto L_0884A2FC; } L_0884A2FC: aot_gpr_31 = (0x0884A304u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 706u, 0x0890F00Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A304u) goto L_0884A304; AOT_REGCACHE_SYNC_OUT(); return; L_0884A304: aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x0884A320u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A320u) goto L_0884A320; AOT_REGCACHE_SYNC_OUT(); return; L_0884A320: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(328)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_6 = (ctx.gpr[17] << 2u); aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(240))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0884A348u); aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A348u) goto L_0884A348; AOT_REGCACHE_SYNC_OUT(); return; L_0884A348: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A360; } goto L_0884A350; } L_0884A350: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884A250; } goto L_0884A360; } L_0884A360: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(124), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(176)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0884A390: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_6 & 65535u); ctx.gpr[19] = (0u | 16u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_16 = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_0884A600; } goto L_0884A3C0; } L_0884A3C0: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0884A3D0u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A3D0u) goto L_0884A3D0; AOT_REGCACHE_SYNC_OUT(); return; L_0884A3D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_0884A3E8; } goto L_0884A3DC; L_0884A3DC: aot_gpr_31 = (0x0884A3E4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A3E4u) goto L_0884A3E4; AOT_REGCACHE_SYNC_OUT(); return; L_0884A3E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_0884A3E8; L_0884A3E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); ctx.gpr[7] = (17096u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x0884A400u); ctx.gpr[7] = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A400u) goto L_0884A400; AOT_REGCACHE_SYNC_OUT(); return; L_0884A400: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x0884A40Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A40Cu) goto L_0884A40C; AOT_REGCACHE_SYNC_OUT(); return; L_0884A40C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0884A418u); aot_gpr_5 = (0u | 1u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A418u) goto L_0884A418; AOT_REGCACHE_SYNC_OUT(); return; L_0884A418: aot_gpr_4 = (ctx.gpr[18] + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_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_0884A4A8; } goto L_0884A434; } L_0884A434: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_14)) && aot_fpr_13 == aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_0884A46C; } goto L_0884A450; } L_0884A450: aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_14)) && aot_fpr_12 == aot_fpr_14)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0884A470; } goto L_0884A464; L_0884A464: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(0u); if (branch_taken) { goto L_0884A480; } goto L_0884A46C; } L_0884A46C: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0884A470; L_0884A470: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x0884A47Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A47Cu) goto L_0884A47C; AOT_REGCACHE_SYNC_OUT(); return; L_0884A47C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_0884A480; L_0884A480: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0884A494u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A494u) goto L_0884A494; AOT_REGCACHE_SYNC_OUT(); return; L_0884A494: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0884A4A0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A4A0u) goto L_0884A4A0; AOT_REGCACHE_SYNC_OUT(); return; L_0884A4A0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A4FC; } goto L_0884A4A8; } L_0884A4A8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_14)) && aot_fpr_13 == aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_0884A4E0; } goto L_0884A4C4; } L_0884A4C4: aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_14)) && aot_fpr_12 == aot_fpr_14)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0884A4E4; } goto L_0884A4D8; L_0884A4D8: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(0u); if (branch_taken) { goto L_0884A4F4; } goto L_0884A4E0; } L_0884A4E0: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0884A4E4; L_0884A4E4: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x0884A4F0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A4F0u) goto L_0884A4F0; AOT_REGCACHE_SYNC_OUT(); return; L_0884A4F0: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_0884A4F4; L_0884A4F4: aot_gpr_31 = (0x0884A4FCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A4FCu) goto L_0884A4FC; AOT_REGCACHE_SYNC_OUT(); return; L_0884A4FC: aot_gpr_4 = (ctx.gpr[17] < static_cast(49) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A5B4; } goto L_0884A508; } L_0884A508: ctx.gpr[17] = (ctx.gpr[17] << 2u); ctx.gpr[1] = (2231u << 16u); ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[17]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(18920))); jump_target = ctx.gpr[1]; ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 2u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0884A520: ctx.gpr[19] = (0u | 26u); aot_gpr_5 = (ctx.gpr[18] + static_cast(320)); aot_gpr_31 = (0x0884A530u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A530u) goto L_0884A530; AOT_REGCACHE_SYNC_OUT(); return; L_0884A530: aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (16512u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { 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); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0884A598u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A598u) goto L_0884A598; AOT_REGCACHE_SYNC_OUT(); return; L_0884A598: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A5B4; } goto L_0884A5A0; } L_0884A5A0: ctx.gpr[19] = (0u | 173u); aot_gpr_5 = (ctx.gpr[18] + static_cast(320)); aot_gpr_31 = (0x0884A5B0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A5B0u) goto L_0884A5B0; AOT_REGCACHE_SYNC_OUT(); return; L_0884A5B0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2116), ctx.gpr[18]); goto L_0884A5B4; L_0884A5B4: { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_0884A5F4; } goto L_0884A5BC; } L_0884A5BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0884A5D0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A5D0u) goto L_0884A5D0; AOT_REGCACHE_SYNC_OUT(); return; L_0884A5D0: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); goto L_0884A5F4; L_0884A5F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0884A600u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A600u) goto L_0884A600; AOT_REGCACHE_SYNC_OUT(); return; L_0884A600: ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0884A620: aot_gpr_29 = (aot_gpr_29 + static_cast(-720)); { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], 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(652), aot_run_words); } ctx.gpr[17] = (ctx.gpr[9] & 255u); aot_gpr_16 = (0u | 0u); ctx.gpr[9] = (16384u << 16u); ctx.fpr[24] = std::bit_cast(ctx.gpr[9]); ctx.fpr[28] = std::bit_cast(0u); ctx.gpr[21] = (aot_gpr_5 << 2u); ctx.gpr[21] = (aot_gpr_4 + ctx.gpr[21]); ctx.gpr[22] = (aot_gpr_6 << 2u); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[10] = (aot_gpr_5 | 0u); ctx.gpr[11] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(624), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), ctx.gpr[7]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[15])); { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(632), std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_0884A6D4; } goto L_0884A6B0; } L_0884A6B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(92)))))); aot_gpr_4 = (aot_gpr_4 ^ 82u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A6D4; } goto L_0884A6CC; } L_0884A6CC: { const bool branch_taken = 0u == 0u; aot_gpr_16 = (0u | 1u); if (branch_taken) { goto L_0884A6FC; } goto L_0884A6D4; } L_0884A6D4: { const bool branch_taken = ctx.gpr[17] != 0u; if (branch_taken) { goto L_0884A6FC; } goto L_0884A6DC; } L_0884A6DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(92)))))); aot_gpr_4 = (aot_gpr_4 ^ 70u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A6FC; } goto L_0884A6F8; } L_0884A6F8: aot_gpr_16 = (0u | 1u); goto L_0884A6FC; L_0884A6FC: aot_gpr_4 = (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(132))); { 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; } { const bool branch_taken = ctx.gpr[17] != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884A718; } goto L_0884A710; } L_0884A710: aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), std::bit_cast(aot_fpr_12)); goto L_0884A718; L_0884A718: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[10]); { const bool branch_taken = ctx.gpr[17] != 0u; if (branch_taken) { goto L_0884A894; } goto L_0884A72C; } L_0884A72C: aot_gpr_4 = (ctx.gpr[18] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 32u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[11]); goto L_0884A7AC; } goto L_0884A760; L_0884A760: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[28])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_0884A774; } goto L_0884A774; L_0884A774: aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[11]); goto L_0884A7AC; } goto L_0884A790; L_0884A790: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[10]); aot_gpr_4 = (18076u << 16u); aot_gpr_4 = (aot_gpr_4 | 16384u); { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0884A894; } goto L_0884A7AC; } L_0884A7AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[10]); if (aot_gpr_16 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(ctx.fpr[16])); goto L_0884A86C; } goto L_0884A7B8; L_0884A7B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[10]); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(1660))); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(ctx.fpr[16])); goto L_0884A86C; } goto L_0884A7CC; L_0884A7CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[10]); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(212))); aot_gpr_4 = (17723u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[10] << 4u); aot_gpr_4 = (ctx.gpr[11] + aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_0884A810; } goto L_0884A810; L_0884A810: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(ctx.fpr[16])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(212))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29824))); { 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; } { 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[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(600))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); ctx.fpr[15] = std::bit_cast(aot_run_words[0]); ctx.fpr[16] = std::bit_cast(aot_run_words[1]); ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0884A864u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A864u) goto L_0884A864; AOT_REGCACHE_SYNC_OUT(); return; L_0884A864: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884A894; } goto L_0884A86C; } L_0884A86C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(92)))))); aot_gpr_4 = (aot_gpr_4 ^ 70u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884A894; } goto L_0884A888; } L_0884A888: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(aot_fpr_12)); goto L_0884A894; L_0884A894: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1552))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[28])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(628), std::bit_cast(ctx.fpr[22])); goto L_0884A8C4; } goto L_0884A8A8; L_0884A8A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1552))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B254; } goto L_0884A8C0; } L_0884A8C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(628), std::bit_cast(ctx.fpr[22])); goto L_0884A8C4; L_0884A8C4: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (49864u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(609), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0884A92C; } goto L_0884A8E0; } L_0884A8E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(628), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(609), static_cast(aot_gpr_4)); aot_gpr_4 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); goto L_0884A92C; L_0884A92C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0884A970; } goto L_0884A93C; } L_0884A93C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); aot_gpr_6 = (0u | 192u); if (aot_gpr_5 == aot_gpr_6) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), ctx.gpr[17]); goto L_0884A974; } goto L_0884A950; L_0884A950: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(204))); aot_gpr_5 = (aot_gpr_5 & 8u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), ctx.gpr[17]); goto L_0884A974; } goto L_0884A96C; L_0884A96C: aot_gpr_4 = (0u | 1u); goto L_0884A970; L_0884A970: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), ctx.gpr[17]); goto L_0884A974; L_0884A974: aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = ctx.gpr[17] == 0u; if (branch_taken) { goto L_0884A9C4; } goto L_0884A980; } L_0884A980: { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (16256u << 16u); if (branch_taken) { goto L_0884A990; } goto L_0884A988; } L_0884A988: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_0884A99C; } goto L_0884A990; } L_0884A990: 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_5 + static_cast(100))); { 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; } goto L_0884A99C; L_0884A99C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_0884A9B0; } goto L_0884A9A8; } L_0884A9A8: { const bool branch_taken = 0u == 0u; ctx.fpr[30] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0884A9BC; } goto L_0884A9B0; } L_0884A9B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } goto L_0884A9BC; L_0884A9BC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(608), static_cast(aot_gpr_16)); if (branch_taken) { goto L_0884AA0C; } goto L_0884A9C4; } L_0884A9C4: { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (16256u << 16u); if (branch_taken) { goto L_0884A9D4; } goto L_0884A9CC; } L_0884A9CC: { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_0884A9E4; } goto L_0884A9D4; } L_0884A9D4: 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_5 + static_cast(100))); { 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 = ctx.fpr[24] - aot_fpr_12; goto L_0884A9E4; L_0884A9E4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_0884A9F8; } goto L_0884A9F0; } L_0884A9F0: { const bool branch_taken = 0u == 0u; ctx.fpr[30] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0884AA08; } goto L_0884A9F8; } L_0884A9F8: aot_gpr_4 = (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(112))); { 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)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } ctx.fpr[30] = ctx.fpr[24] - ctx.fpr[30]; goto L_0884AA08; L_0884AA08: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(608), static_cast(aot_gpr_16)); goto L_0884AA0C; L_0884AA0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1552))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[28])) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(608), static_cast(aot_gpr_16)); goto L_0884AE28; } goto L_0884AA24; L_0884AA24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(604))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_gpr_5 << 4u); ctx.gpr[20] = (ctx.gpr[20] + aot_gpr_6); ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_5 << 5u); aot_gpr_16 = (ctx.gpr[18] + ctx.gpr[7]); aot_gpr_16 = (aot_gpr_16 + static_cast(1392)); ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(628))); ctx.gpr[8] = (ctx.gpr[18] + static_cast(944)); aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), ctx.gpr[8]); aot_gpr_5 = (aot_gpr_5 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(584), aot_gpr_6); ctx.gpr[30] = (ctx.gpr[21] + static_cast(1604)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(580), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(608))); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[23] = (aot_gpr_29 + static_cast(96)); if (branch_taken) { goto L_0884AA94; } goto L_0884AA88; } L_0884AA88: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), ctx.gpr[30]); if (branch_taken) { goto L_0884AA9C; } goto L_0884AA94; } L_0884AA94: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), ctx.gpr[30]); goto L_0884AA9C; L_0884AA9C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), ctx.gpr[23]); { 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[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), 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(aot_gpr_29 + static_cast(116), 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(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[23] = (aot_gpr_29 + static_cast(112)); { 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_13)); 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(120), std::bit_cast(aot_fpr_13)); 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>(); ctx.gpr[30] = (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[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[17] | 0u); aot_gpr_31 = (0x0884AB14u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884AB14u) goto L_0884AB14; AOT_REGCACHE_SYNC_OUT(); return; L_0884AB14: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), 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(aot_gpr_29 + static_cast(116), 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(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } { 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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_load8(aot_gpr_29 + static_cast(609))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(644))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(648))); if (branch_taken) { goto L_0884AC34; } goto L_0884AB94; } L_0884AB94: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(596))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(600))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_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(144)); { 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(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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[8] = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.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 = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0884AC34; L_0884AC34: aot_gpr_4 = (0u | 29u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0884AC44u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 231u, 0x08A91E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884AC44u) goto L_0884AC44; AOT_REGCACHE_SYNC_OUT(); return; L_0884AC44: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(620))); { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0884AC64; } goto L_0884AC5C; } L_0884AC5C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_0884AC64; } goto L_0884AC64; } L_0884AC64: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884AD38; } goto L_0884AC6C; } L_0884AC6C: aot_gpr_31 = (0x0884AC74u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 244u, 0x08A91ED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884AC74u) goto L_0884AC74; AOT_REGCACHE_SYNC_OUT(); return; L_0884AC74: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (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(116))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1520))); aot_gpr_4 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(616))); { const float fs = aot_fpr_13; const float ft = ctx.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 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; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); goto L_0884ACB8; } goto L_0884ACB8; L_0884ACB8: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (32u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884ACFC; } goto L_0884ACDC; } L_0884ACDC: aot_gpr_31 = (0x0884ACE4u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 234u, 0x08A91E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884ACE4u) goto L_0884ACE4; AOT_REGCACHE_SYNC_OUT(); return; L_0884ACE4: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884ACFC; } goto L_0884ACF0; } L_0884ACF0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29872))); { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } if (branch_taken) { goto L_0884AD38; } goto L_0884ACFC; } L_0884ACFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (16u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884AD38; } goto L_0884AD1C; } L_0884AD1C: aot_gpr_31 = (0x0884AD24u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 234u, 0x08A91E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884AD24u) goto L_0884AD24; AOT_REGCACHE_SYNC_OUT(); return; L_0884AD24: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884AD38; } goto L_0884AD30; } L_0884AD30: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29884))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_0884AD38; L_0884AD38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1892))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(588))); aot_gpr_31 = (0x0884AD4Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(604))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 376u, 0x08B0D8F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884AD4Cu) goto L_0884AD4C; AOT_REGCACHE_SYNC_OUT(); return; L_0884AD4C: aot_gpr_4 = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(608))); if (branch_taken) { goto L_0884ADA4; } goto L_0884AD58; } L_0884AD58: ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(944))); { const float fs = aot_fpr_20; 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 = aot_fpr_14; const float ft = ctx.fpr[30]; 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.gpr[2] = (0u | 1u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(584))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(580))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[11] = (ctx.gpr[30] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[23]); aot_gpr_31 = (0x0884AD9Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[2]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 499u, 0x08B0A7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884AD9Cu) goto L_0884AD9C; AOT_REGCACHE_SYNC_OUT(); return; L_0884AD9C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884ADDC; } goto L_0884ADA4; } L_0884ADA4: ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(584))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(580))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[11] = (ctx.gpr[30] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[23]); aot_gpr_31 = (0x0884ADDCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 499u, 0x08B0A7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884ADDCu) goto L_0884ADDC; AOT_REGCACHE_SYNC_OUT(); return; L_0884ADDC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0884ADE8u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 597u, 0x08B02384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884ADE8u) goto L_0884ADE8; AOT_REGCACHE_SYNC_OUT(); return; L_0884ADE8: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_0884AE1C; } goto L_0884ADF0; } L_0884ADF0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(604))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884AE1C; } goto L_0884AE04; } L_0884AE04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0884AE1C; } goto L_0884AE14; } L_0884AE14: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(1892), 0u); if (branch_taken) { goto L_0884AE24; } goto L_0884AE1C; } L_0884AE1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(1892), aot_gpr_4); goto L_0884AE24; L_0884AE24: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(608), static_cast(aot_gpr_16)); goto L_0884AE28; L_0884AE28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1552))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B254; } goto L_0884AE3C; } L_0884AE3C: aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(592))); ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(628))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(624))); aot_gpr_6 = (ctx.gpr[18] + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } ctx.gpr[7] = (aot_gpr_5 << 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), aot_gpr_6); aot_gpr_16 = (ctx.gpr[18] + ctx.gpr[7]); aot_gpr_16 = (aot_gpr_16 + static_cast(1392)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); ctx.gpr[7] = (aot_gpr_5 << 4u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[7]); ctx.gpr[30] = (aot_gpr_5 << 24u); ctx.gpr[30] = (static_cast(static_cast(ctx.gpr[30]) >> 24u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(576), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(608))); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[23] = (ctx.gpr[22] + static_cast(1604)); if (branch_taken) { goto L_0884AEA4; } goto L_0884AE98; } L_0884AE98: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), ctx.gpr[30]); if (branch_taken) { goto L_0884AEAC; } goto L_0884AEA4; } L_0884AEA4: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), ctx.gpr[30]); goto L_0884AEAC; L_0884AEAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), ctx.gpr[23]); { 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[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), 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(aot_gpr_29 + static_cast(212), 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(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[23] = (aot_gpr_29 + static_cast(208)); { 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); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_13)); 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(216), std::bit_cast(aot_fpr_13)); 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>(); ctx.gpr[30] = (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 = 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[17] | 0u); aot_gpr_31 = (0x0884AF24u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884AF24u) goto L_0884AF24; AOT_REGCACHE_SYNC_OUT(); return; L_0884AF24: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), 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(aot_gpr_29 + static_cast(212), 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(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } { 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { float vfpu_value[4]{}; vfpu_value[0u] = 1.0f; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>(); ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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_load8(aot_gpr_29 + static_cast(609))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(648))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(644))); if (branch_taken) { goto L_0884B044; } goto L_0884AFA4; } L_0884AFA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(596))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(256)); { 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_29 + static_cast(600))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_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_6 = (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_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(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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[8] = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.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 = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0884B044; L_0884B044: aot_gpr_4 = (0u | 29u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0884B054u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 231u, 0x08A91E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B054u) goto L_0884B054; AOT_REGCACHE_SYNC_OUT(); return; L_0884B054: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(620))); { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0884B074; } goto L_0884B06C; } L_0884B06C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_0884B074; } goto L_0884B074; } L_0884B074: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884B15C; } goto L_0884B07C; } L_0884B07C: aot_gpr_31 = (0x0884B084u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 244u, 0x08A91ED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B084u) goto L_0884B084; AOT_REGCACHE_SYNC_OUT(); return; L_0884B084: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (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(116))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1520))); aot_gpr_4 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(616))); { const float fs = aot_fpr_13; const float ft = ctx.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 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; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); goto L_0884B0C8; } goto L_0884B0C8; L_0884B0C8: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (32u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(604))); if (branch_taken) { goto L_0884B118; } goto L_0884B0EC; } L_0884B0EC: aot_gpr_4 = (aot_gpr_16 << 5u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); aot_gpr_31 = (0x0884B100u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(30))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 234u, 0x08A91E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B100u) goto L_0884B100; AOT_REGCACHE_SYNC_OUT(); return; L_0884B100: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884B118; } goto L_0884B10C; } L_0884B10C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29872))); { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } if (branch_taken) { goto L_0884B15C; } goto L_0884B118; } L_0884B118: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (16u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_16 << 5u); if (branch_taken) { goto L_0884B15C; } goto L_0884B138; } L_0884B138: aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); aot_gpr_31 = (0x0884B148u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(30))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 234u, 0x08A91E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B148u) goto L_0884B148; AOT_REGCACHE_SYNC_OUT(); return; L_0884B148: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884B15C; } goto L_0884B154; } L_0884B154: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29884))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_0884B15C; L_0884B15C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1892))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(588))); aot_gpr_31 = (0x0884B170u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(624))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 376u, 0x08B0D8F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B170u) goto L_0884B170; AOT_REGCACHE_SYNC_OUT(); return; L_0884B170: aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_gpr_5 = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_5; aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(608))); if (branch_taken) { goto L_0884B1D0; } goto L_0884B180; } L_0884B180: ctx.gpr[2] = (aot_gpr_4 | 0u); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(944))); { const float fs = aot_fpr_20; 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 = aot_fpr_14; const float ft = ctx.fpr[30]; 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.gpr[3] = (0u | 1u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[10] = (ctx.gpr[30] | 0u); ctx.gpr[11] = (ctx.gpr[23] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); aot_gpr_31 = (0x0884B1C8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[3]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 499u, 0x08B0A7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B1C8u) goto L_0884B1C8; AOT_REGCACHE_SYNC_OUT(); return; L_0884B1C8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884B20C; } goto L_0884B1D0; } L_0884B1D0: ctx.gpr[2] = (aot_gpr_4 | 0u); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[10] = (ctx.gpr[30] | 0u); ctx.gpr[11] = (ctx.gpr[23] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); aot_gpr_31 = (0x0884B20Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 499u, 0x08B0A7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B20Cu) goto L_0884B20C; AOT_REGCACHE_SYNC_OUT(); return; L_0884B20C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0884B218u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 597u, 0x08B02384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B218u) goto L_0884B218; AOT_REGCACHE_SYNC_OUT(); return; L_0884B218: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_0884B24C; } goto L_0884B220; } L_0884B220: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(604))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B24C; } goto L_0884B234; } L_0884B234: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0884B24C; } goto L_0884B244; } L_0884B244: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1892), 0u); if (branch_taken) { goto L_0884B254; } goto L_0884B24C; } L_0884B24C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1892), aot_gpr_4); goto L_0884B254; L_0884B254: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); { const bool branch_taken = aot_gpr_4 != 0u; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); if (branch_taken) { goto L_0884B334; } goto L_0884B260; } L_0884B260: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(1660))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884B2D0; } goto L_0884B26C; } L_0884B26C: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_0884B2D0; } goto L_0884B274; } L_0884B274: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1896))); aot_gpr_4 = (0u | 1u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; if (branch_taken) { goto L_0884B290; } goto L_0884B284; } L_0884B284: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1904))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; if (branch_taken) { goto L_0884B2D0; } goto L_0884B290; } L_0884B290: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (14979u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1712), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); 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_0884B334; } goto L_0884B2C8; } L_0884B2C8: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1712), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884B334; } goto L_0884B2D0; } L_0884B2D0: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); 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_0884B334; } goto L_0884B2EC; } L_0884B2EC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (16254u << 16u); aot_gpr_4 = (aot_gpr_4 | 47186u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_5); ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 21u>(); ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); ctx.fpr[15] = ctx.fpr[15] - aot_fpr_12; { const float fs = ctx.fpr[15]; 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_14 + aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1712), std::bit_cast(aot_fpr_12)); goto L_0884B334; L_0884B334: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_5 = (512u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884B534; } goto L_0884B354; } L_0884B354: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1552))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B444; } goto L_0884B368; } L_0884B368: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_0884B418; } goto L_0884B370; } L_0884B370: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[28])) && aot_fpr_13 == ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B418; } goto L_0884B380; } L_0884B380: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B3C8; } goto L_0884B390; } L_0884B390: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1636))); aot_gpr_4 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B3FC; } goto L_0884B3AC; } L_0884B3AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1636))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(1636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884B3FC; } goto L_0884B3C8; } L_0884B3C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1636))); aot_gpr_4 = (49024u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B3FC; } goto L_0884B3E4; } L_0884B3E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1636))); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(1636), std::bit_cast(aot_fpr_12)); goto L_0884B3FC; L_0884B3FC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1604))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1636))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(1604), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884B444; } goto L_0884B418; } L_0884B418: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1636))); aot_gpr_4 = (16243u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(1636), std::bit_cast(aot_fpr_12)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1604))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; 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[15] + aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(1604), std::bit_cast(aot_fpr_12)); goto L_0884B444; L_0884B444: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1552))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B534; } goto L_0884B458; } L_0884B458: { const bool branch_taken = aot_gpr_16 == 0u; if (branch_taken) { goto L_0884B508; } goto L_0884B460; } L_0884B460: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[28])) && aot_fpr_13 == ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B508; } goto L_0884B470; } L_0884B470: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B4B8; } goto L_0884B480; } L_0884B480: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1636))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B4EC; } goto L_0884B49C; } L_0884B49C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1636))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884B4EC; } goto L_0884B4B8; } L_0884B4B8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1636))); aot_gpr_4 = (49024u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884B4EC; } goto L_0884B4D4; } L_0884B4D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1636))); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1636), std::bit_cast(aot_fpr_12)); goto L_0884B4EC; L_0884B4EC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1604))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1636))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1604), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884B534; } goto L_0884B508; } L_0884B508: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1636))); aot_gpr_4 = (16243u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1636), std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1604))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1604), std::bit_cast(aot_fpr_12)); goto L_0884B534; L_0884B534: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(652), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(720)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0884B57C: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); { const std::uint32_t aot_run_words[10]{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(76), aot_run_words); } ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); ctx.gpr[7] = (ctx.gpr[7] & 496u); ctx.gpr[8] = (0u | 32u); ctx.gpr[30] = (aot_gpr_4 | 0u); ctx.gpr[22] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0884B5D0; } goto L_0884B5C4; } L_0884B5C4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(616)))))); aot_gpr_5 = (aot_gpr_5 | 16u); aot_mem.aot_direct_store8(ctx.gpr[30] + static_cast(616), static_cast(aot_gpr_5)); goto L_0884B5D0; L_0884B5D0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(615)))))); aot_gpr_5 = (aot_gpr_5 & 128u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0884B60C; } goto L_0884B5E0; } L_0884B5E0: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_6 = (aot_gpr_5 << 8u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_16 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (2238u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (aot_gpr_16 + aot_gpr_5); if (branch_taken) { goto L_0884B624; } goto L_0884B60C; } L_0884B60C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); goto L_0884B624; L_0884B624: aot_gpr_5 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(1520))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(1524))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(1528))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(1532))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(236))); aot_gpr_5 = (aot_gpr_5 & 16384u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0884B6B4; } goto L_0884B65C; } L_0884B65C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(236))); aot_gpr_5 = (aot_gpr_5 & 4096u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0884B6B4; } goto L_0884B66C; } L_0884B66C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 6u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0884B6B4; } goto L_0884B688; } L_0884B688: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(86)))))); aot_gpr_6 = (0u + static_cast(-950)); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[8] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0884B6BC; } goto L_0884B698; } L_0884B698: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 4u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[8] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0884B6BC; } goto L_0884B6B4; } L_0884B6B4: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(53), static_cast(0u)); ctx.gpr[8] = (aot_gpr_4 | 0u); goto L_0884B6BC; L_0884B6BC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); ctx.gpr[9] = (ctx.gpr[30] + static_cast(1392)); ctx.gpr[10] = (ctx.gpr[30] + static_cast(1520)); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0884B6ECu); aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 66u, 0x088B4738u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B6ECu) goto L_0884B6EC; AOT_REGCACHE_SYNC_OUT(); return; L_0884B6EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(53))); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[2]); if (branch_taken) { goto L_0884B704; } goto L_0884B6F8; } L_0884B6F8: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(53), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0884B830; } goto L_0884B704; } L_0884B704: ctx.gpr[21] = (0u | 0u); aot_gpr_4 = (ctx.gpr[22] + static_cast(48)); ctx.gpr[23] = (aot_gpr_29 + static_cast(16)); aot_gpr_16 = (ctx.gpr[30] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 | 0u); ctx.gpr[19] = (aot_gpr_16 + static_cast(1756)); ctx.gpr[18] = (ctx.gpr[30] + static_cast(1776)); ctx.gpr[17] = (ctx.gpr[30] + static_cast(1392)); goto L_0884B728; L_0884B728: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1520))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); 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_0884B810; } goto L_0884B740; } L_0884B740: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1520))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); 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_0884B810; } goto L_0884B758; } L_0884B758: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884B79C; } goto L_0884B780; } L_0884B780: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884B7E8; } goto L_0884B79C; } L_0884B79C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1756), ctx.gpr[22]); { const bool branch_taken = ctx.gpr[22] == 0u; aot_gpr_4 = (ctx.gpr[22] | 0u); if (branch_taken) { goto L_0884B7B0; } goto L_0884B7A8; } L_0884B7A8: aot_gpr_31 = (0x0884B7B0u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B7B0u) goto L_0884B7B0; AOT_REGCACHE_SYNC_OUT(); return; L_0884B7B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + 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(ctx.gpr[17] + 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(ctx.gpr[17] + static_cast(8))); 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_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0884B7E8; L_0884B7E8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(30))); aot_mem.aot_direct_store8(ctx.gpr[30] + static_cast(311), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0884B810; } goto L_0884B80C; } L_0884B80C: aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(592), ctx.gpr[22]); goto L_0884B810; L_0884B810: ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(4)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(16)); aot_gpr_4 = (static_cast(ctx.gpr[21]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_0884B728; } goto L_0884B830; } L_0884B830: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_0884B848; } goto L_0884B83C; } L_0884B83C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; if (branch_taken) { goto L_0884B8E4; } goto L_0884B848; } L_0884B848: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x0884B854u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 570u, 0x08A66AD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B854u) goto L_0884B854; AOT_REGCACHE_SYNC_OUT(); return; L_0884B854: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0884B87C; } goto L_0884B870; } L_0884B870: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0884B87Cu); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 570u, 0x08A66AD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B87Cu) goto L_0884B87C; AOT_REGCACHE_SYNC_OUT(); return; L_0884B87C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; if (branch_taken) { goto L_0884B8E4; } goto L_0884B888; } L_0884B888: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 2u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0884B8D0; } goto L_0884B8A4; } L_0884B8A4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 8u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0884B8E4; } goto L_0884B8C0; } L_0884B8C0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(236))); aot_gpr_5 = (aot_gpr_5 & 4u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0884B8E4; } goto L_0884B8D0; } L_0884B8D0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(76))); aot_gpr_6 = (0u + static_cast(-3)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 2u); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(76), aot_gpr_5); goto L_0884B8E4; L_0884B8E4: ctx.gpr[2] = (aot_gpr_4 | 0u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; 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(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0884B918: aot_gpr_29 = (aot_gpr_29 + static_cast(-448)); { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(388), aot_run_words); } aot_gpr_5 = (16256u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(604))); aot_fpr_20 = std::bit_cast(0u); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0884B9CC; } goto L_0884B974; } L_0884B974: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(364))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { 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]); } aot_gpr_31 = (0x0884B9C4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B9C4u) goto L_0884B9C4; AOT_REGCACHE_SYNC_OUT(); return; L_0884B9C4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0884BA5C; } goto L_0884B9CC; } L_0884B9CC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(604))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884BA5C; } goto L_0884B9E0; } L_0884B9E0: aot_gpr_4 = (49024u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(364))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (16192u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0884BA5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BA5Cu) goto L_0884BA5C; AOT_REGCACHE_SYNC_OUT(); return; L_0884BA5C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); aot_gpr_4 = (17723u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); goto L_0884BA80; } goto L_0884BA80; L_0884BA80: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(364))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (14545u << 16u); aot_gpr_4 = (aot_gpr_4 | 46871u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); { const float fs = aot_fpr_13; const float ft = ctx.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 float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_gpr_31 = (0x0884BAACu); 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 == 0x0884BAACu) goto L_0884BAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0884BAAC: aot_gpr_31 = (0x0884BAB4u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BAB4u) goto L_0884BAB4; AOT_REGCACHE_SYNC_OUT(); return; L_0884BAB4: aot_fpr_14 = std::bit_cast(ctx.gpr[2]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_4 = (15360u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { 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_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_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_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 + static_cast(192)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); ctx.fpr[15] = std::bit_cast(aot_run_words[0]); ctx.fpr[16] = std::bit_cast(aot_run_words[1]); ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0884BB28u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BB28u) goto L_0884BB28; AOT_REGCACHE_SYNC_OUT(); return; L_0884BB28: aot_gpr_4 = (aot_gpr_16 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0884BD2C; } goto L_0884BB5C; } L_0884BB5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(716))); aot_gpr_31 = (0x0884BB68u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0156_entry, 156u, 734u, 0x08A77A90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BB68u) goto L_0884BB68; AOT_REGCACHE_SYNC_OUT(); return; L_0884BB68: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_20)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(360))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); ctx.gpr[18] = (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[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_16 = (aot_gpr_29 + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_gpr_5 = (16128u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (0u | 160u); aot_gpr_31 = (0x0884BC14u); aot_gpr_6 = (0u | 196u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 325u, 0x088DDFD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BC14u) goto L_0884BC14; AOT_REGCACHE_SYNC_OUT(); return; L_0884BC14: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_unary_ct<0u, 0u, 3u, 2u>(); ctx.gpr[17] = (aot_gpr_29 + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16288u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (aot_gpr_29 + static_cast(176)); aot_gpr_4 = (16544u << 16u); aot_gpr_31 = (0x0884BC48u); ctx.fpr[26] = 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 == 0x0884BC48u) goto L_0884BC48; AOT_REGCACHE_SYNC_OUT(); return; L_0884BC48: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; { 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 = aot_fpr_20 + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17076u << 16u); aot_gpr_31 = (0x0884BC68u); ctx.fpr[28] = 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 == 0x0884BC68u) goto L_0884BC68; AOT_REGCACHE_SYNC_OUT(); return; L_0884BC68: aot_fpr_13 = ctx.fpr[28] - aot_fpr_20; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_20 + aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[10] = (std::bit_cast(aot_fpr_12)); ctx.gpr[21] = (0u | 500u); aot_gpr_4 = (0u | 45u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[11] = (0u | 1u); aot_gpr_31 = (0x0884BCA8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[21]); 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 == 0x0884BCA8u) goto L_0884BCA8; AOT_REGCACHE_SYNC_OUT(); return; L_0884BCA8: aot_gpr_4 = (16192u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16880u << 16u); aot_gpr_31 = (0x0884BCD0u); 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 == 0x0884BCD0u) goto L_0884BCD0; AOT_REGCACHE_SYNC_OUT(); return; L_0884BCD0: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; { 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 = aot_fpr_20 + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16948u << 16u); aot_gpr_31 = (0x0884BCF0u); ctx.fpr[26] = 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 == 0x0884BCF0u) goto L_0884BCF0; AOT_REGCACHE_SYNC_OUT(); return; L_0884BCF0: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_20 + aot_fpr_13; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (0u | 44u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[11] = (0u | 3u); aot_gpr_31 = (0x0884BD2Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[21]); 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 == 0x0884BD2Cu) goto L_0884BD2C; AOT_REGCACHE_SYNC_OUT(); return; L_0884BD2C: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(388), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(448)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0884BD64: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (0u | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 44u, 0x0884C510u>(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_0884BDA0; } L_0884BDA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(84))); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-25492))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 43u, 0x0884C508u>(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_0884BDB8; } L_0884BDB8: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-25492))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(84), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_0884BDE8; } goto L_0884BDE8; L_0884BDE8: aot_gpr_5 = (16672u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(48)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 43u, 0x0884C508u>(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_0884BE00; } L_0884BE00: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (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_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_0884BE24; } goto L_0884BE24; L_0884BE24: aot_gpr_5 = (16672u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 43u, 0x0884C508u>(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_0884BE3C; } L_0884BE3C: aot_gpr_5 = (aot_gpr_4 | 0u); 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_0884BE58; } goto L_0884BE4C; } L_0884BE4C: ctx.gpr[18] = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_0884BE80; } goto L_0884BE58; } L_0884BE58: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 6u); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; if (branch_taken) { goto L_0884BE78; } goto L_0884BE68; } L_0884BE68: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 8u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; if (branch_taken) { goto L_0884BE80; } goto L_0884BE78; } L_0884BE78: ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_0884BE80; L_0884BE80: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(320))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(324))); { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 43u, 0x0884C508u>(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_0884BEB0; } L_0884BEB0: { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 20u, 0x0884C280u>(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_0884BEB8; } L_0884BEB8: ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 43u, 0x0884C508u>(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_0884BEC8; } L_0884BEC8: aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1596))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 18u, 0x0884C268u>(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_0884BED8; } L_0884BED8: aot_gpr_4 = (ctx.gpr[20] << 2u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1520))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 18u, 0x0884C268u>(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_0884BEFC; } L_0884BEFC: aot_gpr_4 = (ctx.gpr[20] | 0u); 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_0884BF7C; } goto L_0884BF0C; } L_0884BF0C: { const bool branch_taken = static_cast(aot_gpr_4) < 0; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 3u, 0x0884C09Cu>(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_0884BF14; } L_0884BF14: { const bool branch_taken = static_cast(aot_gpr_4) > 0; if (branch_taken) { goto L_0884BFE8; } goto L_0884BF1C; } L_0884BF1C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { 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); } { 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_0018_entry, 18u, 3u, 0x0884C09Cu>(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_0884BF7C; } L_0884BF7C: { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 2u, 0x0884C048u>(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_0884BF84; } L_0884BF84: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 3u, 0x0884C09Cu>(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_0884BF8C; } L_0884BF8C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { 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); } { 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_0018_entry, 18u, 3u, 0x0884C09Cu>(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_0884BFE8; } L_0884BFE8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.pc = 0x0884C000u; AOT_REGCACHE_SYNC_OUT(); return; } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0017(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0017_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_17(Runtime &runtime) { runtime.register_generated_unit(17u, 0x08848000u, 16384u, &recomp_unit_0017, &recomp_unit_0017_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x08848000u, &recomp_unit_0017, "recomp_unit_0017", kEntryMasks_recomp_unit_0017, 64u); } } // namespace psprecomp