#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_0006[64] = { 0x1200000000000241ull, 0x0000900000000000ull, 0x0000002080000000ull, 0x0000480000024200ull, 0x0000012000000900ull, 0x9000000480000024ull, 0x1040000012000000ull, 0x0000122148204004ull, 0x5000044000080001ull, 0xD10900400200C300ull, 0x2090008094210140ull, 0x12009208024A0689ull, 0x890010128420140Dull, 0x00503449400A1042ull, 0x2008A80142085120ull, 0x248020250840501Aull, 0x24204100900280D1ull, 0x0841002C51090812ull, 0x1102205020520404ull, 0xA0400508840004A0ull, 0x004400101A204120ull, 0x0001414000000110ull, 0x0410300000050500ull, 0x0000000001000011ull, 0x00A4C00000000100ull, 0xA080200000000200ull, 0x0A0D010100800022ull, 0x0000000040A0A081ull, 0x000A140200010400ull, 0x05A89302100C5421ull, 0x24C0B512605A8492ull, 0x2080800A5449816Aull, 0x9201002D0A020608ull, 0x04116AA4916492AAull, 0x8440801200A050A0ull, 0x8469150A88202342ull, 0x516A5044000016AAull, 0x29150A522148800Aull, 0x02003520AA00150Cull, 0x0108000000000000ull, 0x81820A0104005018ull, 0x2944104090041200ull, 0x0480082244844152ull, 0x4410402040024404ull, 0x0080200016020B45ull, 0x4004152221132200ull, 0xAA811B2008208100ull, 0xA805500000001224ull, 0x8522AA442A2A4400ull, 0x010011110902AAA0ull, 0x1040802021208000ull, 0x8220400084410241ull, 0x4000400020480018ull, 0x550820040420A100ull, 0x80086A0082415525ull, 0x4010410208008A00ull, 0x2002940025454505ull, 0x1010A62142948852ull, 0x02041020102D4480ull, 0x5181508800020D44ull, 0x08280A4010408095ull, 0x001540A028042802ull, 0x22008D200100004Aull, 0xAAAA104200292241ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0006[64] = { 1u, 6u, 8u, 10u, 15u, 19u, 25u, 29u, 38u, 44u, 56u, 67u, 82u, 96u, 110u, 123u, 137u, 150u, 164u, 176u, 187u, 197u, 203u, 211u, 214u, 220u, 225u, 235u, 242u, 249u, 267u, 289u, 306u, 320u, 343u, 355u, 374u, 392u, 410u, 425u, 427u, 439u, 451u, 465u, 475u, 487u, 501u, 516u, 527u, 546u, 560u, 568u, 579u, 586u, 598u, 615u, 624u, 640u, 658u, 670u, 685u, 698u, 710u, 721u, }; void recomp_unit_0006_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,6,31,17 fprs=12,13,14,15 gpr_occ=4285 fpr_occ=741 gpr_total=5894 fpr_total=951 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_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; std::uint32_t local_redispatch_rounds = 0u; std::uint32_t local_pc = ctx.pc; std::uint32_t entry_id = direct_entry_id; LOCAL_DISPATCH: { if (entry_id == 0u) { const std::uint32_t entry_delta = local_pc - 0x0881C000u; entry_id = 0u; if (entry_delta < 16384u && (entry_delta & 3u) == 0u) { const std::uint32_t entry_slot = entry_delta >> 2u; const std::uint32_t entry_group = entry_slot >> 6u; const std::uint64_t entry_mask = kEntryMasks_recomp_unit_0006[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_0006[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_0881C000; case 2u: goto L_0881C018; case 3u: goto L_0881C024; case 4u: goto L_0881C0E4; case 5u: goto L_0881C0F0; case 6u: goto L_0881C1B0; case 7u: goto L_0881C1BC; case 8u: goto L_0881C27C; case 9u: goto L_0881C294; case 10u: goto L_0881C324; case 11u: goto L_0881C338; case 12u: goto L_0881C344; case 13u: goto L_0881C3AC; case 14u: goto L_0881C3B8; case 15u: goto L_0881C420; case 16u: goto L_0881C42C; case 17u: goto L_0881C494; case 18u: goto L_0881C4A0; case 19u: goto L_0881C508; case 20u: goto L_0881C514; case 21u: goto L_0881C57C; case 22u: goto L_0881C588; case 23u: goto L_0881C5F0; case 24u: goto L_0881C5FC; case 25u: goto L_0881C664; case 26u: goto L_0881C670; case 27u: goto L_0881C6D8; case 28u: goto L_0881C6F0; case 29u: goto L_0881C708; case 30u: goto L_0881C738; case 31u: goto L_0881C754; case 32u: goto L_0881C76C; case 33u: goto L_0881C778; case 34u: goto L_0881C780; case 35u: goto L_0881C794; case 36u: goto L_0881C7A4; case 37u: goto L_0881C7B0; case 38u: goto L_0881C800; case 39u: goto L_0881C84C; case 40u: goto L_0881C898; case 41u: goto L_0881C8A8; case 42u: goto L_0881C8F0; case 43u: goto L_0881C8F8; case 44u: goto L_0881C920; case 45u: goto L_0881C924; case 46u: goto L_0881C938; case 47u: goto L_0881C93C; case 48u: goto L_0881C964; case 49u: goto L_0881C998; case 50u: goto L_0881C9C0; case 51u: goto L_0881C9CC; case 52u: goto L_0881C9E0; case 53u: goto L_0881C9F0; case 54u: goto L_0881C9F8; case 55u: goto L_0881C9FC; case 56u: goto L_0881CA18; case 57u: goto L_0881CA20; case 58u: goto L_0881CA40; case 59u: goto L_0881CA54; case 60u: goto L_0881CA68; case 61u: goto L_0881CA70; case 62u: goto L_0881CA7C; case 63u: goto L_0881CA9C; case 64u: goto L_0881CAD0; case 65u: goto L_0881CADC; case 66u: goto L_0881CAF4; case 67u: goto L_0881CB00; case 68u: goto L_0881CB0C; case 69u: goto L_0881CB1C; case 70u: goto L_0881CB24; case 71u: goto L_0881CB28; case 72u: goto L_0881CB44; case 73u: goto L_0881CB4C; case 74u: goto L_0881CB58; case 75u: goto L_0881CB64; case 76u: goto L_0881CB8C; case 77u: goto L_0881CBA4; case 78u: goto L_0881CBB0; case 79u: goto L_0881CBBC; case 80u: goto L_0881CBE4; case 81u: goto L_0881CBF0; case 82u: goto L_0881CC00; case 83u: goto L_0881CC08; case 84u: goto L_0881CC0C; case 85u: goto L_0881CC28; case 86u: goto L_0881CC30; case 87u: goto L_0881CC54; case 88u: goto L_0881CC68; case 89u: goto L_0881CC7C; case 90u: goto L_0881CC84; case 91u: goto L_0881CC90; case 92u: goto L_0881CCB0; case 93u: goto L_0881CCE0; case 94u: goto L_0881CCEC; case 95u: goto L_0881CCFC; case 96u: goto L_0881CD04; case 97u: goto L_0881CD18; case 98u: goto L_0881CD30; case 99u: goto L_0881CD44; case 100u: goto L_0881CD4C; case 101u: goto L_0881CD78; case 102u: goto L_0881CD80; case 103u: goto L_0881CD8C; case 104u: goto L_0881CD98; case 105u: goto L_0881CDA8; case 106u: goto L_0881CDB0; case 107u: goto L_0881CDB4; case 108u: goto L_0881CDD0; case 109u: goto L_0881CDD8; case 110u: goto L_0881CE14; case 111u: goto L_0881CE20; case 112u: goto L_0881CE30; case 113u: goto L_0881CE38; case 114u: goto L_0881CE4C; case 115u: goto L_0881CE64; case 116u: goto L_0881CE78; case 117u: goto L_0881CE80; case 118u: goto L_0881CEAC; case 119u: goto L_0881CEB4; case 120u: goto L_0881CEBC; case 121u: goto L_0881CECC; case 122u: goto L_0881CEF4; case 123u: goto L_0881CF04; case 124u: goto L_0881CF0C; case 125u: goto L_0881CF10; case 126u: goto L_0881CF30; case 127u: goto L_0881CF38; case 128u: goto L_0881CF58; case 129u: goto L_0881CF6C; case 130u: goto L_0881CF80; case 131u: goto L_0881CF88; case 132u: goto L_0881CF94; case 133u: goto L_0881CFB4; case 134u: goto L_0881CFDC; case 135u: goto L_0881CFE8; case 136u: goto L_0881CFF4; case 137u: goto L_0881D000; case 138u: goto L_0881D010; case 139u: goto L_0881D018; case 140u: goto L_0881D01C; case 141u: goto L_0881D03C; case 142u: goto L_0881D044; case 143u: goto L_0881D070; case 144u: goto L_0881D07C; case 145u: goto L_0881D0A0; case 146u: goto L_0881D0B8; case 147u: goto L_0881D0D4; case 148u: goto L_0881D0E8; case 149u: goto L_0881D0F4; case 150u: goto L_0881D104; case 151u: goto L_0881D110; case 152u: goto L_0881D12C; case 153u: goto L_0881D140; case 154u: goto L_0881D14C; case 155u: goto L_0881D160; case 156u: goto L_0881D170; case 157u: goto L_0881D178; case 158u: goto L_0881D188; case 159u: goto L_0881D18C; case 160u: goto L_0881D194; case 161u: goto L_0881D1C0; case 162u: goto L_0881D1D8; case 163u: goto L_0881D1EC; case 164u: goto L_0881D208; case 165u: goto L_0881D228; case 166u: goto L_0881D244; case 167u: goto L_0881D250; case 168u: goto L_0881D258; case 169u: goto L_0881D274; case 170u: goto L_0881D290; case 171u: goto L_0881D298; case 172u: goto L_0881D2B4; case 173u: goto L_0881D2C4; case 174u: goto L_0881D2E0; case 175u: goto L_0881D2F0; case 176u: goto L_0881D314; case 177u: goto L_0881D31C; case 178u: goto L_0881D328; case 179u: goto L_0881D368; case 180u: goto L_0881D37C; case 181u: goto L_0881D38C; case 182u: goto L_0881D3A0; case 183u: goto L_0881D3A8; case 184u: goto L_0881D3D8; case 185u: goto L_0881D3F4; case 186u: goto L_0881D3FC; case 187u: goto L_0881D414; case 188u: goto L_0881D420; case 189u: goto L_0881D438; case 190u: goto L_0881D454; case 191u: goto L_0881D464; case 192u: goto L_0881D46C; case 193u: goto L_0881D470; case 194u: goto L_0881D490; case 195u: goto L_0881D4C8; case 196u: goto L_0881D4D8; case 197u: goto L_0881D510; case 198u: goto L_0881D520; case 199u: goto L_0881D598; case 200u: goto L_0881D5A0; case 201u: goto L_0881D5B8; case 202u: goto L_0881D5C0; case 203u: goto L_0881D620; case 204u: goto L_0881D628; case 205u: goto L_0881D640; case 206u: goto L_0881D648; case 207u: goto L_0881D6B0; case 208u: goto L_0881D6B4; case 209u: goto L_0881D6D0; case 210u: goto L_0881D6E8; case 211u: goto L_0881D700; case 212u: goto L_0881D710; case 213u: goto L_0881D760; case 214u: goto L_0881D820; case 215u: goto L_0881D8B8; case 216u: goto L_0881D8BC; case 217u: goto L_0881D8C8; case 218u: goto L_0881D8D4; case 219u: goto L_0881D8DC; case 220u: goto L_0881D924; case 221u: goto L_0881D9B4; case 222u: goto L_0881D9DC; case 223u: goto L_0881D9F4; case 224u: goto L_0881D9FC; case 225u: goto L_0881DA04; case 226u: goto L_0881DA14; case 227u: goto L_0881DA5C; case 228u: goto L_0881DA80; case 229u: goto L_0881DAA0; case 230u: goto L_0881DAC0; case 231u: goto L_0881DAC8; case 232u: goto L_0881DACC; case 233u: goto L_0881DAE4; case 234u: goto L_0881DAEC; case 235u: goto L_0881DB00; case 236u: goto L_0881DB1C; case 237u: goto L_0881DB34; case 238u: goto L_0881DB3C; case 239u: goto L_0881DB54; case 240u: goto L_0881DB5C; case 241u: goto L_0881DB78; case 242u: goto L_0881DC28; case 243u: goto L_0881DC40; case 244u: goto L_0881DC84; case 245u: goto L_0881DCA8; case 246u: goto L_0881DCB0; case 247u: goto L_0881DCC4; case 248u: goto L_0881DCCC; case 249u: goto L_0881DD00; case 250u: goto L_0881DD14; case 251u: goto L_0881DD28; case 252u: goto L_0881DD30; case 253u: goto L_0881DD38; case 254u: goto L_0881DD48; case 255u: goto L_0881DD4C; case 256u: goto L_0881DD70; case 257u: goto L_0881DD84; case 258u: goto L_0881DDA0; case 259u: goto L_0881DDA4; case 260u: goto L_0881DDB0; case 261u: goto L_0881DDBC; case 262u: goto L_0881DDCC; case 263u: goto L_0881DDD4; case 264u: goto L_0881DDDC; case 265u: goto L_0881DDE0; case 266u: goto L_0881DDE8; case 267u: goto L_0881DE04; case 268u: goto L_0881DE10; case 269u: goto L_0881DE1C; case 270u: goto L_0881DE28; case 271u: goto L_0881DE3C; case 272u: goto L_0881DE44; case 273u: goto L_0881DE4C; case 274u: goto L_0881DE50; case 275u: goto L_0881DE58; case 276u: goto L_0881DE74; case 277u: goto L_0881DE78; case 278u: goto L_0881DE84; case 279u: goto L_0881DE90; case 280u: goto L_0881DEA0; case 281u: goto L_0881DEA8; case 282u: goto L_0881DEB0; case 283u: goto L_0881DEB4; case 284u: goto L_0881DEBC; case 285u: goto L_0881DED8; case 286u: goto L_0881DEDC; case 287u: goto L_0881DEE8; case 288u: goto L_0881DEF4; case 289u: goto L_0881DF04; case 290u: goto L_0881DF0C; case 291u: goto L_0881DF14; case 292u: goto L_0881DF18; case 293u: goto L_0881DF20; case 294u: goto L_0881DF3C; case 295u: goto L_0881DF40; case 296u: goto L_0881DF4C; case 297u: goto L_0881DF58; case 298u: goto L_0881DF68; case 299u: goto L_0881DF70; case 300u: goto L_0881DF78; case 301u: goto L_0881DF84; case 302u: goto L_0881DF8C; case 303u: goto L_0881DFBC; case 304u: goto L_0881DFDC; case 305u: goto L_0881DFF4; case 306u: goto L_0881E00C; case 307u: goto L_0881E024; case 308u: goto L_0881E028; case 309u: goto L_0881E044; case 310u: goto L_0881E064; case 311u: goto L_0881E06C; case 312u: goto L_0881E080; case 313u: goto L_0881E088; case 314u: goto L_0881E08C; case 315u: goto L_0881E094; case 316u: goto L_0881E0C0; case 317u: goto L_0881E0E4; case 318u: goto L_0881E0F0; case 319u: goto L_0881E0FC; case 320u: goto L_0881E104; case 321u: goto L_0881E10C; case 322u: goto L_0881E114; case 323u: goto L_0881E11C; case 324u: goto L_0881E124; case 325u: goto L_0881E130; case 326u: goto L_0881E13C; case 327u: goto L_0881E148; case 328u: goto L_0881E154; case 329u: goto L_0881E158; case 330u: goto L_0881E160; case 331u: goto L_0881E170; case 332u: goto L_0881E17C; case 333u: goto L_0881E188; case 334u: goto L_0881E194; case 335u: goto L_0881E19C; case 336u: goto L_0881E1A4; case 337u: goto L_0881E1AC; case 338u: goto L_0881E1B4; case 339u: goto L_0881E1B8; case 340u: goto L_0881E1C0; case 341u: goto L_0881E1D0; case 342u: goto L_0881E1E8; case 343u: goto L_0881E214; case 344u: goto L_0881E21C; case 345u: goto L_0881E230; case 346u: goto L_0881E238; case 347u: goto L_0881E254; case 348u: goto L_0881E25C; case 349u: goto L_0881E284; case 350u: goto L_0881E290; case 351u: goto L_0881E2BC; case 352u: goto L_0881E2D8; case 353u: goto L_0881E2E8; case 354u: goto L_0881E2FC; case 355u: goto L_0881E304; case 356u: goto L_0881E318; case 357u: goto L_0881E320; case 358u: goto L_0881E324; case 359u: goto L_0881E334; case 360u: goto L_0881E354; case 361u: goto L_0881E36C; case 362u: goto L_0881E37C; case 363u: goto L_0881E384; case 364u: goto L_0881E38C; case 365u: goto L_0881E3A0; case 366u: goto L_0881E3A8; case 367u: goto L_0881E3B0; case 368u: goto L_0881E3C0; case 369u: goto L_0881E3CC; case 370u: goto L_0881E3D4; case 371u: goto L_0881E3D8; case 372u: goto L_0881E3E8; case 373u: goto L_0881E3FC; case 374u: goto L_0881E404; case 375u: goto L_0881E40C; case 376u: goto L_0881E414; case 377u: goto L_0881E41C; case 378u: goto L_0881E424; case 379u: goto L_0881E428; case 380u: goto L_0881E430; case 381u: goto L_0881E488; case 382u: goto L_0881E498; case 383u: goto L_0881E4B0; case 384u: goto L_0881E4B8; case 385u: goto L_0881E4C4; case 386u: goto L_0881E4CC; case 387u: goto L_0881E4D4; case 388u: goto L_0881E4D8; case 389u: goto L_0881E4E0; case 390u: goto L_0881E4F0; case 391u: goto L_0881E4F8; case 392u: goto L_0881E504; case 393u: goto L_0881E50C; case 394u: goto L_0881E53C; case 395u: goto L_0881E54C; case 396u: goto L_0881E558; case 397u: goto L_0881E560; case 398u: goto L_0881E574; case 399u: goto L_0881E584; case 400u: goto L_0881E590; case 401u: goto L_0881E598; case 402u: goto L_0881E5A4; case 403u: goto L_0881E5AC; case 404u: goto L_0881E5C0; case 405u: goto L_0881E5C8; case 406u: goto L_0881E5D0; case 407u: goto L_0881E5E0; case 408u: goto L_0881E5EC; case 409u: goto L_0881E5F4; case 410u: goto L_0881E608; case 411u: goto L_0881E60C; case 412u: goto L_0881E620; case 413u: goto L_0881E628; case 414u: goto L_0881E630; case 415u: goto L_0881E664; case 416u: goto L_0881E66C; case 417u: goto L_0881E674; case 418u: goto L_0881E67C; case 419u: goto L_0881E694; case 420u: goto L_0881E6A0; case 421u: goto L_0881E6A8; case 422u: goto L_0881E6B0; case 423u: goto L_0881E6B4; case 424u: goto L_0881E6E4; case 425u: goto L_0881E7CC; case 426u: goto L_0881E7E0; case 427u: goto L_0881E80C; case 428u: goto L_0881E810; case 429u: goto L_0881E830; case 430u: goto L_0881E838; case 431u: goto L_0881E868; case 432u: goto L_0881E880; case 433u: goto L_0881E8A4; case 434u: goto L_0881E8AC; case 435u: goto L_0881E8C4; case 436u: goto L_0881E8DC; case 437u: goto L_0881E8E0; case 438u: goto L_0881E8FC; case 439u: goto L_0881E924; case 440u: goto L_0881E930; case 441u: goto L_0881E948; case 442u: goto L_0881E970; case 443u: goto L_0881E97C; case 444u: goto L_0881E998; case 445u: goto L_0881E9B0; case 446u: goto L_0881E9C8; case 447u: goto L_0881E9D8; case 448u: goto L_0881E9E0; case 449u: goto L_0881E9EC; case 450u: goto L_0881E9F4; case 451u: goto L_0881EA04; case 452u: goto L_0881EA10; case 453u: goto L_0881EA18; case 454u: goto L_0881EA20; case 455u: goto L_0881EA38; case 456u: goto L_0881EA48; case 457u: goto L_0881EA5C; case 458u: goto L_0881EA68; case 459u: goto L_0881EA78; case 460u: goto L_0881EA84; case 461u: goto L_0881EA94; case 462u: goto L_0881EAAC; case 463u: goto L_0881EADC; case 464u: goto L_0881EAE8; case 465u: goto L_0881EB08; case 466u: goto L_0881EB28; case 467u: goto L_0881EB38; case 468u: goto L_0881EB44; case 469u: goto L_0881EB78; case 470u: goto L_0881EB94; case 471u: goto L_0881EBB8; case 472u: goto L_0881EBD0; case 473u: goto L_0881EBE8; case 474u: goto L_0881EBF8; case 475u: goto L_0881EC00; case 476u: goto L_0881EC08; case 477u: goto L_0881EC18; case 478u: goto L_0881EC20; case 479u: goto L_0881EC24; case 480u: goto L_0881EC2C; case 481u: goto L_0881EC44; case 482u: goto L_0881EC64; case 483u: goto L_0881EC68; case 484u: goto L_0881EC70; case 485u: goto L_0881ECB4; case 486u: goto L_0881ECDC; case 487u: goto L_0881ED24; case 488u: goto L_0881ED34; case 489u: goto L_0881ED40; case 490u: goto L_0881ED44; case 491u: goto L_0881ED50; case 492u: goto L_0881ED60; case 493u: goto L_0881ED74; case 494u: goto L_0881ED84; case 495u: goto L_0881ED94; case 496u: goto L_0881EDA0; case 497u: goto L_0881EDA8; case 498u: goto L_0881EDB0; case 499u: goto L_0881EDC8; case 500u: goto L_0881EDF8; case 501u: goto L_0881EE20; case 502u: goto L_0881EE3C; case 503u: goto L_0881EE54; case 504u: goto L_0881EE6C; case 505u: goto L_0881EE94; case 506u: goto L_0881EEA0; case 507u: goto L_0881EEA4; case 508u: goto L_0881EEAC; case 509u: goto L_0881EEB0; case 510u: goto L_0881EEC0; case 511u: goto L_0881EEDC; case 512u: goto L_0881EEE4; case 513u: goto L_0881EEEC; case 514u: goto L_0881EEF4; case 515u: goto L_0881EEFC; case 516u: goto L_0881EF08; case 517u: goto L_0881EF14; case 518u: goto L_0881EF24; case 519u: goto L_0881EF30; case 520u: goto L_0881EFB0; case 521u: goto L_0881EFB8; case 522u: goto L_0881EFC0; case 523u: goto L_0881EFC8; case 524u: goto L_0881EFEC; case 525u: goto L_0881EFF4; case 526u: goto L_0881EFFC; case 527u: goto L_0881F028; case 528u: goto L_0881F038; case 529u: goto L_0881F044; case 530u: goto L_0881F04C; case 531u: goto L_0881F054; case 532u: goto L_0881F064; case 533u: goto L_0881F06C; case 534u: goto L_0881F074; case 535u: goto L_0881F088; case 536u: goto L_0881F098; case 537u: goto L_0881F0A4; case 538u: goto L_0881F0AC; case 539u: goto L_0881F0B4; case 540u: goto L_0881F0BC; case 541u: goto L_0881F0C4; case 542u: goto L_0881F0D4; case 543u: goto L_0881F0E0; case 544u: goto L_0881F0E8; case 545u: goto L_0881F0FC; case 546u: goto L_0881F114; case 547u: goto L_0881F11C; case 548u: goto L_0881F124; case 549u: goto L_0881F12C; case 550u: goto L_0881F134; case 551u: goto L_0881F13C; case 552u: goto L_0881F144; case 553u: goto L_0881F160; case 554u: goto L_0881F16C; case 555u: goto L_0881F180; case 556u: goto L_0881F190; case 557u: goto L_0881F1A0; case 558u: goto L_0881F1B0; case 559u: goto L_0881F1E0; case 560u: goto L_0881F23C; case 561u: goto L_0881F254; case 562u: goto L_0881F260; case 563u: goto L_0881F274; case 564u: goto L_0881F294; case 565u: goto L_0881F2BC; case 566u: goto L_0881F2D8; case 567u: goto L_0881F2F0; case 568u: goto L_0881F300; case 569u: goto L_0881F318; case 570u: goto L_0881F324; case 571u: goto L_0881F340; case 572u: goto L_0881F358; case 573u: goto L_0881F368; case 574u: goto L_0881F37C; case 575u: goto L_0881F3B8; case 576u: goto L_0881F3D4; case 577u: goto L_0881F3E4; case 578u: goto L_0881F3FC; case 579u: goto L_0881F40C; case 580u: goto L_0881F410; case 581u: goto L_0881F44C; case 582u: goto L_0881F458; case 583u: goto L_0881F474; case 584u: goto L_0881F4B8; case 585u: goto L_0881F4F8; case 586u: goto L_0881F520; case 587u: goto L_0881F534; case 588u: goto L_0881F53C; case 589u: goto L_0881F554; case 590u: goto L_0881F568; case 591u: goto L_0881F588; case 592u: goto L_0881F5B4; case 593u: goto L_0881F5CC; case 594u: goto L_0881F5E0; case 595u: goto L_0881F5E8; case 596u: goto L_0881F5F0; case 597u: goto L_0881F5F8; case 598u: goto L_0881F600; case 599u: goto L_0881F608; case 600u: goto L_0881F614; case 601u: goto L_0881F620; case 602u: goto L_0881F628; case 603u: goto L_0881F630; case 604u: goto L_0881F638; case 605u: goto L_0881F640; case 606u: goto L_0881F658; case 607u: goto L_0881F664; case 608u: goto L_0881F67C; case 609u: goto L_0881F6A4; case 610u: goto L_0881F6AC; case 611u: goto L_0881F6B4; case 612u: goto L_0881F6B8; case 613u: goto L_0881F6CC; case 614u: goto L_0881F6FC; case 615u: goto L_0881F724; case 616u: goto L_0881F72C; case 617u: goto L_0881F73C; case 618u: goto L_0881F76C; case 619u: goto L_0881F784; case 620u: goto L_0881F7A0; case 621u: goto L_0881F7B8; case 622u: goto L_0881F7D0; case 623u: goto L_0881F7F8; case 624u: goto L_0881F800; case 625u: goto L_0881F808; case 626u: goto L_0881F820; case 627u: goto L_0881F828; case 628u: goto L_0881F838; case 629u: goto L_0881F840; case 630u: goto L_0881F848; case 631u: goto L_0881F858; case 632u: goto L_0881F860; case 633u: goto L_0881F868; case 634u: goto L_0881F874; case 635u: goto L_0881F8A8; case 636u: goto L_0881F8B0; case 637u: goto L_0881F8BC; case 638u: goto L_0881F8C4; case 639u: goto L_0881F8F4; case 640u: goto L_0881F904; case 641u: goto L_0881F910; case 642u: goto L_0881F918; case 643u: goto L_0881F92C; case 644u: goto L_0881F93C; case 645u: goto L_0881F948; case 646u: goto L_0881F950; case 647u: goto L_0881F95C; case 648u: goto L_0881F964; case 649u: goto L_0881F978; case 650u: goto L_0881F980; case 651u: goto L_0881F994; case 652u: goto L_0881F9A4; case 653u: goto L_0881F9A8; case 654u: goto L_0881F9B4; case 655u: goto L_0881F9BC; case 656u: goto L_0881F9D0; case 657u: goto L_0881F9F0; case 658u: goto L_0881FA1C; case 659u: goto L_0881FA28; case 660u: goto L_0881FA38; case 661u: goto L_0881FA40; case 662u: goto L_0881FA48; case 663u: goto L_0881FA4C; case 664u: goto L_0881FA54; case 665u: goto L_0881FA70; case 666u: goto L_0881FA94; case 667u: goto L_0881FAB0; case 668u: goto L_0881FAC8; case 669u: goto L_0881FAE4; case 670u: goto L_0881FB08; case 671u: goto L_0881FB18; case 672u: goto L_0881FB20; case 673u: goto L_0881FB28; case 674u: goto L_0881FB2C; case 675u: goto L_0881FB44; case 676u: goto L_0881FB8C; case 677u: goto L_0881FB9C; case 678u: goto L_0881FBB0; case 679u: goto L_0881FBB8; case 680u: goto L_0881FBC0; case 681u: goto L_0881FBDC; case 682u: goto L_0881FBE0; case 683u: goto L_0881FBF0; case 684u: goto L_0881FBF8; case 685u: goto L_0881FC00; case 686u: goto L_0881FC08; case 687u: goto L_0881FC10; case 688u: goto L_0881FC1C; case 689u: goto L_0881FC3C; case 690u: goto L_0881FC58; case 691u: goto L_0881FC70; case 692u: goto L_0881FC98; case 693u: goto L_0881FCA4; case 694u: goto L_0881FCAC; case 695u: goto L_0881FCCC; case 696u: goto L_0881FCD4; case 697u: goto L_0881FCEC; case 698u: goto L_0881FD04; case 699u: goto L_0881FD2C; case 700u: goto L_0881FD34; case 701u: goto L_0881FD48; case 702u: goto L_0881FD6C; case 703u: goto L_0881FD74; case 704u: goto L_0881FD94; case 705u: goto L_0881FD9C; case 706u: goto L_0881FDB8; case 707u: goto L_0881FDC0; case 708u: goto L_0881FDC8; case 709u: goto L_0881FDD0; case 710u: goto L_0881FE04; case 711u: goto L_0881FE0C; case 712u: goto L_0881FE18; case 713u: goto L_0881FE60; case 714u: goto L_0881FE94; case 715u: goto L_0881FEA0; case 716u: goto L_0881FEA8; case 717u: goto L_0881FEAC; case 718u: goto L_0881FEBC; case 719u: goto L_0881FEE4; case 720u: goto L_0881FEF4; case 721u: goto L_0881FF00; case 722u: goto L_0881FF18; case 723u: goto L_0881FF24; case 724u: goto L_0881FF34; case 725u: goto L_0881FF40; case 726u: goto L_0881FF4C; case 727u: goto L_0881FF54; case 728u: goto L_0881FF84; case 729u: goto L_0881FF98; case 730u: goto L_0881FFB0; case 731u: goto L_0881FFC4; case 732u: goto L_0881FFCC; case 733u: goto L_0881FFD4; case 734u: goto L_0881FFDC; case 735u: goto L_0881FFE4; case 736u: goto L_0881FFEC; case 737u: goto L_0881FFF4; case 738u: goto L_0881FFFC; 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_0881C000: aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_0881C018; L_0881C018: aot_gpr_4 = (ctx.gpr[18] & 64u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C0E4; } goto L_0881C024; } L_0881C024: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(772))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_0881C0E4; L_0881C0E4: aot_gpr_4 = (ctx.gpr[18] & 128u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C1B0; } goto L_0881C0F0; } L_0881C0F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_0881C1B0; L_0881C1B0: aot_gpr_4 = (ctx.gpr[18] & 256u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C27C; } goto L_0881C1BC; } L_0881C1BC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(780))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_0881C27C; L_0881C27C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881C294: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[7] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); aot_gpr_17 = (ctx.gpr[7] + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[8] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[8]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); ctx.gpr[16] = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[8] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[8]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); ctx.gpr[16] = (ctx.gpr[16] | aot_gpr_5); aot_gpr_6 = (ctx.gpr[16] & 1u); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_0881C338; } goto L_0881C324; } L_0881C324: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0881C338u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 217u, 0x08AAD1E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C338u) goto L_0881C338; AOT_REGCACHE_SYNC_OUT(); return; L_0881C338: aot_gpr_4 = (ctx.gpr[16] & 2u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C3AC; } goto L_0881C344; } L_0881C344: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(752), std::bit_cast(aot_fpr_12)); goto L_0881C3AC; L_0881C3AC: aot_gpr_4 = (ctx.gpr[16] & 4u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C420; } goto L_0881C3B8; } L_0881C3B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(756), std::bit_cast(aot_fpr_12)); goto L_0881C420; L_0881C420: aot_gpr_4 = (ctx.gpr[16] & 8u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C494; } goto L_0881C42C; } L_0881C42C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(760), std::bit_cast(aot_fpr_12)); goto L_0881C494; L_0881C494: aot_gpr_4 = (ctx.gpr[16] & 16u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C508; } goto L_0881C4A0; } L_0881C4A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(764), std::bit_cast(aot_fpr_12)); goto L_0881C508; L_0881C508: aot_gpr_4 = (ctx.gpr[16] & 32u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C57C; } goto L_0881C514; } L_0881C514: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(768), std::bit_cast(aot_fpr_12)); goto L_0881C57C; L_0881C57C: aot_gpr_4 = (ctx.gpr[16] & 64u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C5F0; } goto L_0881C588; } L_0881C588: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(772), std::bit_cast(aot_fpr_12)); goto L_0881C5F0; L_0881C5F0: aot_gpr_4 = (ctx.gpr[16] & 128u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C664; } goto L_0881C5FC; } L_0881C5FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(776), std::bit_cast(aot_fpr_12)); goto L_0881C664; L_0881C664: aot_gpr_4 = (ctx.gpr[16] & 256u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C6D8; } goto L_0881C670; } L_0881C670: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(780), std::bit_cast(aot_fpr_12)); goto L_0881C6D8; L_0881C6D8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881C6F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0881C708u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 264u, 0x08AAD80Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C708u) goto L_0881C708; AOT_REGCACHE_SYNC_OUT(); return; L_0881C708: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(18672)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(92), aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(384), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(380), aot_gpr_4); ctx.gpr[2] = (ctx.gpr[16] | 0u); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881C738: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881C780; } goto L_0881C754; } L_0881C754: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(18672)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881C76Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 266u, 0x08AAD844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C76Cu) goto L_0881C76C; AOT_REGCACHE_SYNC_OUT(); return; L_0881C76C: aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881C780; } goto L_0881C778; } L_0881C778: aot_gpr_31 = (0x0881C780u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C780u) goto L_0881C780; AOT_REGCACHE_SYNC_OUT(); return; L_0881C780: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881C794: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0881C7A4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 280u, 0x08AAD998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C7A4u) goto L_0881C7A4; AOT_REGCACHE_SYNC_OUT(); return; L_0881C7A4: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881C7B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.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]), ctx.gpr[16], aot_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); } ctx.gpr[23] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0881C800u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 271u, 0x08AAD8A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C800u) goto L_0881C800; AOT_REGCACHE_SYNC_OUT(); return; L_0881C800: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(352))); aot_gpr_5 = (aot_gpr_4 + static_cast(10)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); ctx.gpr[16] = (2237u << 16u); ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(370), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(370)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(374), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(374)))))); aot_gpr_31 = (0x0881C84Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C84Cu) goto L_0881C84C; AOT_REGCACHE_SYNC_OUT(); return; L_0881C84C: ctx.gpr[20] = (ctx.gpr[2] | 0u); ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(86)))))); ctx.gpr[19] = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_5 = (0u + static_cast(-2)); ctx.gpr[21] = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (16585u << 16u); ctx.gpr[7] = (ctx.gpr[7] | 4059u); ctx.fpr[20] = std::bit_cast(ctx.gpr[7]); ctx.gpr[7] = (16256u << 16u); ctx.fpr[24] = std::bit_cast(ctx.gpr[7]); ctx.gpr[7] = (16384u << 16u); ctx.fpr[26] = std::bit_cast(ctx.gpr[7]); ctx.fpr[30] = std::bit_cast(0u); ctx.gpr[7] = (49024u << 16u); { const bool branch_taken = aot_gpr_6 == 0u; ctx.fpr[28] = std::bit_cast(ctx.gpr[7]); if (branch_taken) { goto L_0881C8A8; } goto L_0881C898; } L_0881C898: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0881C8A8; L_0881C8A8: ctx.gpr[22] = (ctx.gpr[19] | 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(86)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(464), aot_gpr_4); aot_gpr_5 = (aot_gpr_29 + static_cast(160)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(636))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(448), aot_gpr_5); aot_gpr_5 = (aot_gpr_6 & 64u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(983)); { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), aot_gpr_4); if (branch_taken) { goto L_0881C8F8; } goto L_0881C8F0; } L_0881C8F0: aot_gpr_31 = (0x0881C8F8u); aot_gpr_4 = (ctx.gpr[23] | 0u); goto L_0881D924; L_0881C8F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(384))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(760))); 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; aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(384), std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881C93C; } goto L_0881C920; } L_0881C920: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(384))); goto L_0881C924; L_0881C924: aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881C924; } goto L_0881C938; } L_0881C938: aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(384), std::bit_cast(aot_fpr_12)); goto L_0881C93C; L_0881C93C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(760))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; 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 = (16073u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; 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_0881C964; } goto L_0881C964; L_0881C964: aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; aot_gpr_4 = (17279u << 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)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881C9C0; } goto L_0881C998; } L_0881C998: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), ctx.gpr[20]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(3)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); 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_0881D07C; } goto L_0881C9C0; } L_0881C9C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(240))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881CB58; } goto L_0881C9CC; } L_0881C9CC: aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(240))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[16] = (aot_gpr_29 + static_cast(128)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); if (branch_taken) { goto L_0881C9F8; } goto L_0881C9E0; } L_0881C9E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_17 + static_cast(16)); if (branch_taken) { goto L_0881C9FC; } goto L_0881C9F0; } L_0881C9F0: aot_gpr_31 = (0x0881C9F8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881C9F8u) goto L_0881C9F8; AOT_REGCACHE_SYNC_OUT(); return; L_0881C9F8: aot_gpr_4 = (aot_gpr_17 + static_cast(16)); goto L_0881C9FC; L_0881C9FC: aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_31 = (0x0881CA18u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CA18u) goto L_0881CA18; AOT_REGCACHE_SYNC_OUT(); return; L_0881CA18: aot_gpr_31 = (0x0881CA20u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CA20u) goto L_0881CA20; AOT_REGCACHE_SYNC_OUT(); return; L_0881CA20: aot_gpr_4 = (ctx.gpr[22] + static_cast(272)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CA70; } goto L_0881CA40; } L_0881CA40: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CA70; } goto L_0881CA54; } L_0881CA54: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CA70; } goto L_0881CA68; } L_0881CA68: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_0881CA9C; } goto L_0881CA70; } L_0881CA70: aot_gpr_5 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x0881CA7Cu); aot_gpr_4 = (ctx.gpr[16] | 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 == 0x0881CA7Cu) goto L_0881CA7C; AOT_REGCACHE_SYNC_OUT(); return; L_0881CA7C: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { 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[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CA9C; L_0881CA9C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(764))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30724))); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (17204u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 / aot_fpr_15; { 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 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0881CAD0u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CAD0u) goto L_0881CAD0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CAD0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_31 = (0x0881CADCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CADCu) goto L_0881CADC; AOT_REGCACHE_SYNC_OUT(); return; L_0881CADC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(636))); aot_gpr_4 = (aot_gpr_4 & 64u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881CB58; } goto L_0881CAF4; } L_0881CAF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(272))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881CB58; } goto L_0881CB00; } L_0881CB00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(272))); if (branch_taken) { goto L_0881CB24; } goto L_0881CB0C; } L_0881CB0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881CB28; } goto L_0881CB1C; } L_0881CB1C: aot_gpr_31 = (0x0881CB24u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881CB24u) goto L_0881CB24; AOT_REGCACHE_SYNC_OUT(); return; L_0881CB24: aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881CB28; L_0881CB28: aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_31 = (0x0881CB44u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CB44u) goto L_0881CB44; AOT_REGCACHE_SYNC_OUT(); return; L_0881CB44: aot_gpr_31 = (0x0881CB4Cu); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CB4Cu) goto L_0881CB4C; AOT_REGCACHE_SYNC_OUT(); return; L_0881CB4C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_31 = (0x0881CB58u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CB58u) goto L_0881CB58; AOT_REGCACHE_SYNC_OUT(); return; L_0881CB58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(256))); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[22]); goto L_0881CEBC; } goto L_0881CB64; L_0881CB64: ctx.fpr[22] = std::bit_cast(0u); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(756))); aot_gpr_17 = (aot_gpr_29 + static_cast(128)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (17204u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0881CBE4; } goto L_0881CB8C; } L_0881CB8C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(780))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); 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_0881CBE4; } goto L_0881CBA4; } L_0881CBA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(260))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881CBBC; } goto L_0881CBB0; } L_0881CBB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(264))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881CBE4; } goto L_0881CBBC; } L_0881CBBC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(780))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_fpr_13 = ctx.fpr[24] - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30712))); { 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)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.fpr[20] = ctx.fpr[20] + ctx.fpr[24]; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); ctx.fpr[22] = ctx.fpr[24] - aot_fpr_12; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30708))); { const float fs = aot_fpr_15; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } goto L_0881CBE4; L_0881CBE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(256))); if (branch_taken) { goto L_0881CC08; } goto L_0881CBF0; } L_0881CBF0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881CC0C; } goto L_0881CC00; } L_0881CC00: aot_gpr_31 = (0x0881CC08u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881CC08u) goto L_0881CC08; AOT_REGCACHE_SYNC_OUT(); return; L_0881CC08: aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881CC0C; L_0881CC0C: aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_31 = (0x0881CC28u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CC28u) goto L_0881CC28; AOT_REGCACHE_SYNC_OUT(); return; L_0881CC28: aot_gpr_31 = (0x0881CC30u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CC30u) goto L_0881CC30; AOT_REGCACHE_SYNC_OUT(); return; L_0881CC30: aot_gpr_4 = (ctx.gpr[22] + static_cast(240)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_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_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CC84; } goto L_0881CC54; } L_0881CC54: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CC84; } goto L_0881CC68; } L_0881CC68: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CC84; } goto L_0881CC7C; } L_0881CC7C: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_0881CCB0; } goto L_0881CC84; } L_0881CC84: aot_gpr_5 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x0881CC90u); aot_gpr_4 = (aot_gpr_17 | 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 == 0x0881CC90u) goto L_0881CC90; AOT_REGCACHE_SYNC_OUT(); return; L_0881CC90: { const std::uint32_t vfpu_address = aot_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 = aot_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_0881CCB0; L_0881CCB0: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(772))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30716))); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[30]; { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0881CCE0u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CCE0u) goto L_0881CCE0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CCE0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_31 = (0x0881CCECu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CCECu) goto L_0881CCEC; AOT_REGCACHE_SYNC_OUT(); return; L_0881CCEC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CD80; } goto L_0881CCFC; } L_0881CCFC: aot_gpr_31 = (0x0881CD04u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CD04u) goto L_0881CD04; AOT_REGCACHE_SYNC_OUT(); return; L_0881CD04: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CD30; } goto L_0881CD18; } L_0881CD18: aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[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; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0881CD78; } goto L_0881CD30; } L_0881CD30: ctx.gpr[16] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881CD44u); aot_gpr_6 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 429u, 0x08AA1B48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CD44u) goto L_0881CD44; AOT_REGCACHE_SYNC_OUT(); return; L_0881CD44: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0881CD78; } goto L_0881CD4C; } L_0881CD4C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(36))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30704))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_15 = ctx.fpr[24] - ctx.fpr[20]; { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CD78; L_0881CD78: aot_gpr_31 = (0x0881CD80u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CD80u) goto L_0881CD80; AOT_REGCACHE_SYNC_OUT(); return; L_0881CD80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(252))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881CEB4; } goto L_0881CD8C; } L_0881CD8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(252))); if (branch_taken) { goto L_0881CDB0; } goto L_0881CD98; } L_0881CD98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881CDB4; } goto L_0881CDA8; } L_0881CDA8: aot_gpr_31 = (0x0881CDB0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881CDB0u) goto L_0881CDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CDB0: aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881CDB4; L_0881CDB4: aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_31 = (0x0881CDD0u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CDD0u) goto L_0881CDD0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CDD0: aot_gpr_31 = (0x0881CDD8u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CDD8u) goto L_0881CDD8; AOT_REGCACHE_SYNC_OUT(); return; L_0881CDD8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(772))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30716))); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[30]; { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0881CE14u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CE14u) goto L_0881CE14; AOT_REGCACHE_SYNC_OUT(); return; L_0881CE14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_31 = (0x0881CE20u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CE20u) goto L_0881CE20; AOT_REGCACHE_SYNC_OUT(); return; L_0881CE20: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CEB4; } goto L_0881CE30; } L_0881CE30: aot_gpr_31 = (0x0881CE38u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CE38u) goto L_0881CE38; AOT_REGCACHE_SYNC_OUT(); return; L_0881CE38: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[28])) && aot_fpr_12 == ctx.fpr[28])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CE64; } goto L_0881CE4C; } L_0881CE4C: aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[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; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0881CEAC; } goto L_0881CE64; } L_0881CE64: ctx.gpr[16] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881CE78u); aot_gpr_6 = (0u | 19u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 429u, 0x08AA1B48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CE78u) goto L_0881CE78; AOT_REGCACHE_SYNC_OUT(); return; L_0881CE78: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0881CEAC; } goto L_0881CE80; } L_0881CE80: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(36))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30704))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_15 = ctx.fpr[24] - ctx.fpr[20]; { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CEAC; L_0881CEAC: aot_gpr_31 = (0x0881CEB4u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CEB4u) goto L_0881CEB4; AOT_REGCACHE_SYNC_OUT(); return; L_0881CEB4: ctx.fpr[30] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[22]); goto L_0881CEBC; L_0881CEBC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(248))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D07C; } goto L_0881CECC; } L_0881CECC: aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(248))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[16] = (aot_gpr_29 + static_cast(128)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (16457u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17204u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[22] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_0881CF0C; } goto L_0881CEF4; } L_0881CEF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[22]); goto L_0881CF10; } goto L_0881CF04; L_0881CF04: aot_gpr_31 = (0x0881CF0Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881CF0Cu) goto L_0881CF0C; AOT_REGCACHE_SYNC_OUT(); return; L_0881CF0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[22]); goto L_0881CF10; L_0881CF10: aot_gpr_4 = (aot_gpr_17 + static_cast(16)); aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_31 = (0x0881CF30u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CF30u) goto L_0881CF30; AOT_REGCACHE_SYNC_OUT(); return; L_0881CF30: aot_gpr_31 = (0x0881CF38u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881CF38u) goto L_0881CF38; AOT_REGCACHE_SYNC_OUT(); return; L_0881CF38: aot_gpr_4 = (ctx.gpr[22] + static_cast(256)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CF88; } goto L_0881CF58; } L_0881CF58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CF88; } goto L_0881CF6C; } L_0881CF6C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881CF88; } goto L_0881CF80; } L_0881CF80: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_0881CFB4; } goto L_0881CF88; } L_0881CF88: aot_gpr_5 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x0881CF94u); aot_gpr_4 = (ctx.gpr[16] | 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 == 0x0881CF94u) goto L_0881CF94; AOT_REGCACHE_SYNC_OUT(); return; L_0881CF94: { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { 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[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CFB4; L_0881CFB4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), ctx.gpr[20]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(768))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30720))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_13 / ctx.fpr[22]; { 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(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0881CFDCu); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CFDCu) goto L_0881CFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0881CFDC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_31 = (0x0881CFE8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CFE8u) goto L_0881CFE8; AOT_REGCACHE_SYNC_OUT(); return; L_0881CFE8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(244))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D07C; } goto L_0881CFF4; } L_0881CFF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(244))); if (branch_taken) { goto L_0881D018; } goto L_0881D000; } L_0881D000: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), ctx.gpr[20]); goto L_0881D01C; } goto L_0881D010; L_0881D010: aot_gpr_31 = (0x0881D018u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881D018u) goto L_0881D018; AOT_REGCACHE_SYNC_OUT(); return; L_0881D018: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), ctx.gpr[20]); goto L_0881D01C; L_0881D01C: aot_gpr_4 = (aot_gpr_17 + static_cast(16)); aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_31 = (0x0881D03Cu); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881D03Cu) goto L_0881D03C; AOT_REGCACHE_SYNC_OUT(); return; L_0881D03C: aot_gpr_31 = (0x0881D044u); aot_gpr_4 = (ctx.gpr[21] | 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 == 0x0881D044u) goto L_0881D044; AOT_REGCACHE_SYNC_OUT(); return; L_0881D044: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(768))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30720))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_13 / ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_14) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0881D070u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D070u) goto L_0881D070; AOT_REGCACHE_SYNC_OUT(); return; L_0881D070: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_31 = (0x0881D07Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D07Cu) goto L_0881D07C; AOT_REGCACHE_SYNC_OUT(); return; L_0881D07C: ctx.gpr[18] = (0u | 12u); ctx.gpr[20] = (0u | 13u); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[19] = (2179u << 16u); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(456))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(992)); aot_gpr_4 = (0u | 150u); ctx.gpr[22] = (aot_gpr_4 - ctx.gpr[22]); ctx.gpr[21] = (0u | 12u); goto L_0881D0A0; L_0881D0A0: ctx.gpr[16] = (ctx.gpr[18] << 2u); ctx.gpr[16] = (ctx.gpr[30] + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(176))); aot_gpr_17 = (ctx.gpr[20] << 2u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_17 = (ctx.gpr[30] + aot_gpr_17); if (branch_taken) { goto L_0881D104; } goto L_0881D0B8; } L_0881D0B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(176))); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[26]; 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[23] + static_cast(384))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0881D0D4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D0D4u) goto L_0881D0D4; AOT_REGCACHE_SYNC_OUT(); return; L_0881D0D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(176))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); aot_gpr_31 = (0x0881D0E8u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D0E8u) goto L_0881D0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0881D0E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D104; } goto L_0881D0F4; } L_0881D0F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(456))); aot_gpr_31 = (0x0881D104u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D104u) goto L_0881D104; AOT_REGCACHE_SYNC_OUT(); return; L_0881D104: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(176))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D170; } goto L_0881D110; } L_0881D110: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(176))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(384))); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0881D12Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D12Cu) goto L_0881D12C; AOT_REGCACHE_SYNC_OUT(); return; L_0881D12C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(176))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); aot_gpr_31 = (0x0881D140u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D140u) goto L_0881D140; AOT_REGCACHE_SYNC_OUT(); return; L_0881D140: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D170; } goto L_0881D14C; } L_0881D14C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_0881D160; } goto L_0881D160; L_0881D160: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0881D170u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D170u) goto L_0881D170; AOT_REGCACHE_SYNC_OUT(); return; L_0881D170: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[21]; if (branch_taken) { goto L_0881D188; } goto L_0881D178; } L_0881D178: ctx.gpr[18] = (0u | 14u); ctx.gpr[20] = (0u | 15u); { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (branch_taken) { goto L_0881D18C; } goto L_0881D188; } L_0881D188: ctx.gpr[18] = (0u | 0u); goto L_0881D18C; L_0881D18C: { const bool branch_taken = ctx.gpr[18] != 0u; if (branch_taken) { goto L_0881D0A0; } goto L_0881D194; } L_0881D194: ctx.gpr[16] = (0u + static_cast(-1)); aot_gpr_17 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(468))); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (aot_gpr_4 < static_cast(9) ? 1u : 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(460))); if (branch_taken) { goto L_0881D250; } goto L_0881D1C0; } L_0881D1C0: 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(17912))); 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_0881D1D8: ctx.gpr[16] = (0u | 1u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30700))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881D250; } goto L_0881D1EC; } L_0881D1EC: ctx.gpr[16] = (0u | 1u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30700))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); aot_gpr_17 = (0u | 0u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30688))); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881D250; } goto L_0881D208; } L_0881D208: ctx.gpr[16] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30696))); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_17 = (0u | 0u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30692))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30688))); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881D250; } goto L_0881D228; } L_0881D228: ctx.gpr[16] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30684))); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_17 = (0u | 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881D250; } goto L_0881D244; } L_0881D244: ctx.gpr[16] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30680))); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0881D250; L_0881D250: { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; if (branch_taken) { goto L_0881D290; } goto L_0881D258; } L_0881D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(260))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(780))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) & 0x7FFFFFFFu); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881D274u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D274u) goto L_0881D274; AOT_REGCACHE_SYNC_OUT(); return; L_0881D274: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(264))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(780))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881D290u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D290u) goto L_0881D290; AOT_REGCACHE_SYNC_OUT(); return; L_0881D290: { const bool branch_taken = static_cast(aot_gpr_17) < 0; if (branch_taken) { goto L_0881D2E0; } goto L_0881D298; } L_0881D298: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(268))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(780))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); { 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; } aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881D2B4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D2B4u) goto L_0881D2B4; AOT_REGCACHE_SYNC_OUT(); return; L_0881D2B4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[28] <= ctx.fpr[30])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881D2E0; } goto L_0881D2C4; } L_0881D2C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(272))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(780))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881D2E0u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D2E0u) goto L_0881D2E0; AOT_REGCACHE_SYNC_OUT(); return; L_0881D2E0: aot_gpr_5 = (0u + static_cast(-977)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(464))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0881D31C; } goto L_0881D2F0; } L_0881D2F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(272))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(544))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11388))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0881D314u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D314u) goto L_0881D314; AOT_REGCACHE_SYNC_OUT(); return; L_0881D314: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881D6D0; } goto L_0881D31C; } L_0881D31C: aot_gpr_5 = (0u + static_cast(-983)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0881D3FC; } goto L_0881D328; } L_0881D328: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(544))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-11384)))))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[20] = aot_fpr_12 / aot_fpr_14; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(200))); aot_gpr_5 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0881D368u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D368u) goto L_0881D368; AOT_REGCACHE_SYNC_OUT(); return; L_0881D368: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(188))); aot_gpr_5 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0881D37Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D37Cu) goto L_0881D37C; AOT_REGCACHE_SYNC_OUT(); return; L_0881D37C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(204)))))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D3F4; } goto L_0881D38C; } L_0881D38C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(544))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-11382)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881D3F4; } goto L_0881D3A0; } L_0881D3A0: aot_gpr_31 = (0x0881D3A8u); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D3A8u) goto L_0881D3A8; AOT_REGCACHE_SYNC_OUT(); return; L_0881D3A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (16512u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (16768u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_15 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] <= aot_fpr_13)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_0881D3D8; } goto L_0881D3D8; L_0881D3D8: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0881D3F4u); 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_0193_entry, 193u, 371u, 0x08B09D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D3F4u) goto L_0881D3F4; AOT_REGCACHE_SYNC_OUT(); return; L_0881D3F4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881D6D0; } goto L_0881D3FC; } L_0881D3FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(636))); aot_gpr_4 = (aot_gpr_4 & 64u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D6D0; } goto L_0881D414; } L_0881D414: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(268))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D6D0; } goto L_0881D420; } L_0881D420: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(20))); aot_gpr_6 = (aot_gpr_29 + static_cast(224)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0881D438u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D438u) goto L_0881D438; AOT_REGCACHE_SYNC_OUT(); return; L_0881D438: ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(268))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[30] = (ctx.gpr[23] + static_cast(320)); aot_gpr_17 = (aot_gpr_29 + static_cast(80)); aot_gpr_5 = (16128u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[20] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_0881D46C; } goto L_0881D454; } L_0881D454: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881D470; } goto L_0881D464; } L_0881D464: aot_gpr_31 = (0x0881D46Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881D46Cu) goto L_0881D46C; AOT_REGCACHE_SYNC_OUT(); return; L_0881D46C: aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881D470; L_0881D470: aot_gpr_5 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); aot_gpr_31 = (0x0881D490u); aot_gpr_4 = (ctx.gpr[20] | 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 == 0x0881D490u) goto L_0881D490; AOT_REGCACHE_SYNC_OUT(); return; L_0881D490: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30664))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14) ^ 0x80000000u); { 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); } aot_gpr_4 = (ctx.gpr[23] + 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_13 = std::bit_cast(aot_gpr_4); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30668))); { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30664))); goto L_0881D4C8; } goto L_0881D4C8; L_0881D4C8: 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_0881D4D8; } goto L_0881D4D8; L_0881D4D8: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30664))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14) ^ 0x80000000u); { 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); } { 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_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30668))); { const float fs = aot_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; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30664))); goto L_0881D510; } goto L_0881D510; L_0881D510: 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_0881D520; } goto L_0881D520; L_0881D520: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30660))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); 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_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(248))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(252))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(256))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(260))); aot_fpr_15 = aot_fpr_15 - ctx.fpr[16]; aot_fpr_13 = aot_fpr_13 + aot_fpr_15; { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(60))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[17]; aot_fpr_13 = aot_fpr_13 / aot_fpr_14; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30656))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_14 = ctx.fpr[24] - aot_fpr_12; if (branch_taken) { goto L_0881D5A0; } goto L_0881D598; } L_0881D598: { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30656))); if (branch_taken) { goto L_0881D5C0; } goto L_0881D5A0; } L_0881D5A0: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30656))); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_15) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_15)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881D5C0; } goto L_0881D5B8; } L_0881D5B8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30656))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); goto L_0881D5C0; L_0881D5C0: aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_15 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(256))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(248))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[16]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(260))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(252))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; aot_fpr_13 = aot_fpr_13 + ctx.fpr[17]; { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(60))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_15 = aot_fpr_15 - ctx.fpr[16]; aot_fpr_13 = aot_fpr_13 / aot_fpr_15; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30652))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881D628; } goto L_0881D620; } L_0881D620: { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30652))); if (branch_taken) { goto L_0881D648; } goto L_0881D628; } L_0881D628: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30652))); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_15) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_15)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881D648; } goto L_0881D640; } L_0881D640: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30652))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); goto L_0881D648; L_0881D648: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_15 + aot_fpr_13; aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(8), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(248))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(256))); aot_fpr_13 = aot_fpr_13 + ctx.fpr[16]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(252))); aot_fpr_13 = aot_fpr_13 + ctx.fpr[17]; ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(260))); aot_fpr_13 = aot_fpr_13 + ctx.fpr[18]; aot_gpr_4 = (16000u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[16]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(88))); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_13 = aot_fpr_13 / ctx.fpr[17]; ctx.fpr[24] = ctx.fpr[24] - aot_fpr_13; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30648))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881D6B4; } goto L_0881D6B0; } L_0881D6B0: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30648))); goto L_0881D6B4; L_0881D6B4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); { 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; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0881D6D0u); aot_gpr_4 = (ctx.gpr[20] | 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 == 0x0881D6D0u) goto L_0881D6D0; AOT_REGCACHE_SYNC_OUT(); return; L_0881D6D0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(204)))))); aot_gpr_4 = (aot_gpr_4 & 8u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); goto L_0881D8BC; } goto L_0881D6E8; L_0881D6E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(636))); aot_gpr_4 = (aot_gpr_4 & 64u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); goto L_0881D8BC; } goto L_0881D700; L_0881D700: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-984)); if (aot_gpr_4 == aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); goto L_0881D8BC; } goto L_0881D710; L_0881D710: aot_gpr_4 = (ctx.gpr[23] + 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[23] + 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_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(752))); aot_gpr_4 = (17864u << 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; } { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (16896u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_15; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] <= aot_fpr_12)) ? 0x00800000u : 0u); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); goto L_0881D760; } goto L_0881D760; L_0881D760: 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[16] = (aot_gpr_4 & 255u); aot_gpr_4 = (ctx.gpr[21] + 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_17 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_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[18] = (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 = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); 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; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); ctx.gpr[19] = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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[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); } { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); ctx.gpr[20] = (aot_gpr_29 + static_cast(352)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[21] = (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[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); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[22] = (aot_gpr_29 + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0881D820u); ctx.gpr[10] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 413u, 0x088AAD00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D820u) goto L_0881D820; AOT_REGCACHE_SYNC_OUT(); return; L_0881D820: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } { 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[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[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); } { 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<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[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); } { 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[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[23] + static_cast(1)); { 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[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); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0881D8B8u); ctx.gpr[10] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 413u, 0x088AAD00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D8B8u) goto L_0881D8B8; AOT_REGCACHE_SYNC_OUT(); return; L_0881D8B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); goto L_0881D8BC; L_0881D8BC: aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D8DC; } goto L_0881D8C8; } L_0881D8C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881D8DC; } goto L_0881D8D4; } L_0881D8D4: aot_gpr_31 = (0x0881D8DCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); 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 == 0x0881D8DCu) goto L_0881D8DC; AOT_REGCACHE_SYNC_OUT(); return; L_0881D8DC: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(472), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); 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]); ctx.gpr[16] = aot_run_words[6]; aot_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(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_0881D924: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); { const std::uint32_t aot_run_words[15]{std::bit_cast(ctx.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]), ctx.gpr[16], aot_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(240), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); aot_gpr_5 = (aot_gpr_4 + static_cast(10)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(146), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(146)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(150), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150)))))); aot_gpr_31 = (0x0881D9B4u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D9B4u) goto L_0881D9B4; AOT_REGCACHE_SYNC_OUT(); return; L_0881D9B4: ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_17 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (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); aot_gpr_5 = (aot_gpr_17 | 0u); if (branch_taken) { goto L_0881D9FC; } goto L_0881D9DC; } L_0881D9DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[22] = (0u | 0u); if (branch_taken) { goto L_0881DA04; } goto L_0881D9F4; } L_0881D9F4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881DA14; } goto L_0881D9FC; } L_0881D9FC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881DC40; } goto L_0881DA04; } L_0881DA04: 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[22] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0881DA14; L_0881DA14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), aot_gpr_4); ctx.gpr[22] = (0u | 0u); ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); ctx.gpr[21] = (aot_gpr_29 + static_cast(32)); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (49864u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16255u << 16u); aot_gpr_4 = (aot_gpr_4 | 65368u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); ctx.fpr[28] = std::bit_cast(0u); ctx.gpr[30] = (aot_gpr_29 + static_cast(112)); ctx.gpr[23] = (aot_gpr_29 + static_cast(96)); ctx.gpr[19] = (0u | 0u); aot_gpr_17 = (ctx.gpr[16] + static_cast(304)); goto L_0881DA5C; L_0881DA5C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), ctx.gpr[23]); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(60))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[19]); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0881DA80u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 480u, 0x0881A9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DA80u) goto L_0881DA80; AOT_REGCACHE_SYNC_OUT(); return; L_0881DA80: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = 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 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(60))); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_6 = (aot_gpr_6 + static_cast(16)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0881DAA0u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 480u, 0x0881A9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DAA0u) goto L_0881DAA0; AOT_REGCACHE_SYNC_OUT(); return; L_0881DAA0: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(280))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30728))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(236))); if (branch_taken) { goto L_0881DAC8; } goto L_0881DAC0; } L_0881DAC0: { const bool branch_taken = 0u == 0u; ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); if (branch_taken) { goto L_0881DACC; } goto L_0881DAC8; } L_0881DAC8: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[22])); goto L_0881DACC; L_0881DACC: { 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_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x0881DAE4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DAE4u) goto L_0881DAE4; AOT_REGCACHE_SYNC_OUT(); return; L_0881DAE4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0881DC28; } goto L_0881DAEC; } L_0881DAEC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881DC28; } goto L_0881DB00; } L_0881DB00: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[24]; 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_0881DC28; } goto L_0881DB1C; } L_0881DB1C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881DB3C; } goto L_0881DB34; } L_0881DB34: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(280), std::bit_cast(ctx.fpr[26])); if (branch_taken) { goto L_0881DB78; } goto L_0881DB3C; } L_0881DB3C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); 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_0881DB5C; } goto L_0881DB54; } L_0881DB54: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(280), std::bit_cast(ctx.fpr[28])); if (branch_taken) { goto L_0881DB78; } goto L_0881DB5C; } L_0881DB5C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(280), std::bit_cast(aot_fpr_12)); goto L_0881DB78; L_0881DB78: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(280))); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (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>(); { 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[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[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<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[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); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(0), aot_run_words); } aot_gpr_4 = (aot_gpr_17 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(ctx.fpr[28])); aot_gpr_5 = (aot_gpr_29 + static_cast(208)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(ctx.fpr[24])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); { const std::uint32_t aot_run_words[3]{aot_gpr_6, ctx.gpr[7], aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } aot_gpr_4 = (0u | 19u); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(30), static_cast(aot_gpr_4)); goto L_0881DC28; L_0881DC28: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(32)); ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); aot_gpr_4 = (static_cast(ctx.gpr[22]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (aot_gpr_17 + static_cast(32)); if (branch_taken) { goto L_0881DA5C; } goto L_0881DC40; } L_0881DC40: { std::uint32_t aot_run_words[15]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.gpr[16] = aot_run_words[5]; aot_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(304)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DC84: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8)))))); aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0881DCA8u); aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(8), static_cast(aot_gpr_5)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 501u, 0x08B3E0A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DCA8u) goto L_0881DCA8; AOT_REGCACHE_SYNC_OUT(); return; L_0881DCA8: aot_gpr_31 = (0x0881DCB0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DCB0u) goto L_0881DCB0; AOT_REGCACHE_SYNC_OUT(); return; L_0881DCB0: ctx.gpr[2] = (0u | 1u); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DCC4: jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DCCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_6 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_31 = (0x0881DD00u); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_0881DCC4; L_0881DD00: ctx.gpr[21] = (ctx.gpr[2] | 0u); ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_0881DD48; } goto L_0881DD14; } L_0881DD14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); jump_target = aot_gpr_17; aot_gpr_31 = (0x0881DD28u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); 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 == 0x0881DD28u) goto L_0881DD28; AOT_REGCACHE_SYNC_OUT(); return; L_0881DD28: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0881DD38; } goto L_0881DD30; } L_0881DD30: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_0881DD4C; } goto L_0881DD38; } L_0881DD38: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { goto L_0881DD14; } goto L_0881DD48; } L_0881DD48: ctx.gpr[2] = (ctx.gpr[18] | 0u); goto L_0881DD4C; L_0881DD4C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_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]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DD70: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); ctx.gpr[2] = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DD84: ctx.gpr[7] = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] == 0u; if (branch_taken) { goto L_0881DDDC; } goto L_0881DDA0; } L_0881DDA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0881DDA4; L_0881DDA4: ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(18))); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[9]; if (branch_taken) { goto L_0881DDBC; } goto L_0881DDB0; } L_0881DDB0: ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_6 == ctx.gpr[9]; if (branch_taken) { goto L_0881DDD4; } goto L_0881DDBC; } L_0881DDBC: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (branch_taken) { goto L_0881DDA4; } goto L_0881DDCC; } L_0881DDCC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881DDDC; } goto L_0881DDD4; } L_0881DDD4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(19))); if (branch_taken) { goto L_0881DDE0; } goto L_0881DDDC; } L_0881DDDC: ctx.gpr[2] = (0u | 0u); goto L_0881DDE0; L_0881DDE0: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DDE8: ctx.gpr[7] = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[10] = (0u | 0u); ctx.gpr[8] = (static_cast(ctx.gpr[10]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; if (branch_taken) { goto L_0881DE4C; } goto L_0881DE04; } L_0881DE04: ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[8] = (0u | 0u); aot_gpr_4 = (ctx.gpr[9] | 0u); goto L_0881DE10; L_0881DE10: ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(18))); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[11]; if (branch_taken) { goto L_0881DE28; } goto L_0881DE1C; } L_0881DE1C: ctx.gpr[11] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_6 == ctx.gpr[11]; if (branch_taken) { goto L_0881DE44; } goto L_0881DE28; } L_0881DE28: ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(32)); ctx.gpr[11] = (static_cast(ctx.gpr[10]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[11] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (branch_taken) { goto L_0881DE10; } goto L_0881DE3C; } L_0881DE3C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881DE4C; } goto L_0881DE44; } L_0881DE44: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[9] + ctx.gpr[8]); if (branch_taken) { goto L_0881DE50; } goto L_0881DE4C; } L_0881DE4C: ctx.gpr[2] = (0u | 0u); goto L_0881DE50; L_0881DE50: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DE58: ctx.gpr[7] = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] == 0u; if (branch_taken) { goto L_0881DEB0; } goto L_0881DE74; } L_0881DE74: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0881DE78; L_0881DE78: ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(18))); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[9]; if (branch_taken) { goto L_0881DE90; } goto L_0881DE84; } L_0881DE84: ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_6 == ctx.gpr[9]; if (branch_taken) { goto L_0881DEA8; } goto L_0881DE90; } L_0881DE90: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (branch_taken) { goto L_0881DE78; } goto L_0881DEA0; } L_0881DEA0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881DEB0; } goto L_0881DEA8; } L_0881DEA8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(28))); if (branch_taken) { goto L_0881DEB4; } goto L_0881DEB0; } L_0881DEB0: ctx.gpr[2] = (0u | 0u); goto L_0881DEB4; L_0881DEB4: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DEBC: ctx.gpr[7] = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] == 0u; if (branch_taken) { goto L_0881DF14; } goto L_0881DED8; } L_0881DED8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0881DEDC; L_0881DEDC: ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(18))); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[9]; if (branch_taken) { goto L_0881DEF4; } goto L_0881DEE8; } L_0881DEE8: ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_6 == ctx.gpr[9]; if (branch_taken) { goto L_0881DF0C; } goto L_0881DEF4; } L_0881DEF4: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (branch_taken) { goto L_0881DEDC; } goto L_0881DF04; } L_0881DF04: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881DF14; } goto L_0881DF0C; } L_0881DF0C: { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); if (branch_taken) { goto L_0881DF18; } goto L_0881DF14; } L_0881DF14: ctx.fpr[0] = std::bit_cast(0u); goto L_0881DF18; L_0881DF18: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DF20: ctx.gpr[7] = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] == 0u; if (branch_taken) { goto L_0881DF78; } goto L_0881DF3C; } L_0881DF3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0881DF40; L_0881DF40: ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(18))); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[9]; if (branch_taken) { goto L_0881DF58; } goto L_0881DF4C; } L_0881DF4C: ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_6 == ctx.gpr[9]; if (branch_taken) { goto L_0881DF70; } goto L_0881DF58; } L_0881DF58: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (branch_taken) { goto L_0881DF40; } goto L_0881DF68; } L_0881DF68: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881DF78; } goto L_0881DF70; } L_0881DF70: { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); if (branch_taken) { goto L_0881DF84; } goto L_0881DF78; } L_0881DF78: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[0] = std::bit_cast(aot_gpr_4); goto L_0881DF84; L_0881DF84: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881DF8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_6 + static_cast(216)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0881DFBCu); aot_gpr_4 = (aot_gpr_5 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DFBCu) goto L_0881DFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0881DFBC: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_17 = (0u | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881DFDCu); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DFDCu) goto L_0881DFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0881DFDC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(28))); aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[2]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 != 0u) { aot_gpr_17 = (0u | 1u); goto L_0881E028; } goto L_0881DFF4; L_0881DFF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881E00Cu); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E00Cu) goto L_0881E00C; AOT_REGCACHE_SYNC_OUT(); return; L_0881E00C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(29))); aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[2]); 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_0881E028; } goto L_0881E024; } L_0881E024: aot_gpr_17 = (0u | 1u); goto L_0881E028; L_0881E028: ctx.gpr[2] = (aot_gpr_17 & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E044: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 2u); ctx.gpr[7] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); aot_gpr_4 = (0u | 255u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; ctx.gpr[8] = (0u | 0u); if (branch_taken) { goto L_0881E080; } goto L_0881E064; } L_0881E064: { const bool branch_taken = aot_gpr_5 == aot_gpr_6; if (branch_taken) { goto L_0881E088; } goto L_0881E06C; } L_0881E06C: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); aot_gpr_5 = (ctx.gpr[7] + ctx.gpr[8]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; if (branch_taken) { goto L_0881E064; } goto L_0881E080; } L_0881E080: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0881E08C; } goto L_0881E088; } L_0881E088: ctx.gpr[2] = (0u | 1u); goto L_0881E08C; L_0881E08C: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E094: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30596))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30600))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 31u)); ctx.gpr[8] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0881E0C0u); aot_gpr_6 = (ctx.gpr[8] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 178u, 0x08B60E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E0C0u) goto L_0881E0C0; AOT_REGCACHE_SYNC_OUT(); return; L_0881E0C0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30588))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30592))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); ctx.gpr[2] = (aot_gpr_5 | aot_gpr_4); ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E0E4: aot_gpr_6 = (aot_gpr_5 < static_cast(6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_0881E154; } goto L_0881E0F0; } L_0881E0F0: ctx.gpr[1] = (0u + static_cast(1)); { const bool branch_taken = aot_gpr_5 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(2)); if (branch_taken) { goto L_0881E130; } goto L_0881E0FC; } L_0881E0FC: { const bool branch_taken = aot_gpr_5 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(3)); if (branch_taken) { goto L_0881E124; } goto L_0881E104; } L_0881E104: { const bool branch_taken = aot_gpr_5 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(4)); if (branch_taken) { goto L_0881E13C; } goto L_0881E10C; } L_0881E10C: { const bool branch_taken = aot_gpr_5 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(5)); if (branch_taken) { goto L_0881E154; } goto L_0881E114; } L_0881E114: { const bool branch_taken = aot_gpr_5 == ctx.gpr[1]; if (branch_taken) { goto L_0881E148; } goto L_0881E11C; } L_0881E11C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_gpr_4 < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E158; } goto L_0881E124; } L_0881E124: ctx.gpr[2] = (aot_gpr_4 ^ 2u); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E158; } goto L_0881E130; } L_0881E130: ctx.gpr[2] = (aot_gpr_4 ^ 1u); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E158; } goto L_0881E13C; } L_0881E13C: ctx.gpr[2] = (aot_gpr_4 ^ 3u); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E158; } goto L_0881E148; } L_0881E148: ctx.gpr[2] = (aot_gpr_4 ^ 2u); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); if (branch_taken) { goto L_0881E158; } goto L_0881E154; } L_0881E154: ctx.gpr[2] = (0u | 0u); goto L_0881E158; L_0881E158: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E160: aot_gpr_4 = (aot_gpr_4 + static_cast(28)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8))); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; if (branch_taken) { goto L_0881E1AC; } goto L_0881E170; } L_0881E170: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9))); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; if (branch_taken) { goto L_0881E1A4; } goto L_0881E17C; } L_0881E17C: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; if (branch_taken) { goto L_0881E19C; } goto L_0881E188; } L_0881E188: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(7))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_0881E1B4; } goto L_0881E194; } L_0881E194: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 2u); if (branch_taken) { goto L_0881E1B8; } goto L_0881E19C; } L_0881E19C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_0881E1B8; } goto L_0881E1A4; } L_0881E1A4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 4u); if (branch_taken) { goto L_0881E1B8; } goto L_0881E1AC; } L_0881E1AC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 3u); if (branch_taken) { goto L_0881E1B8; } goto L_0881E1B4; } L_0881E1B4: ctx.gpr[2] = (0u | 0u); goto L_0881E1B8; L_0881E1B8: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E1C0: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(47))); ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); if (ctx.gpr[7] == 0u) { ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); goto L_0881E1E8; } goto L_0881E1D0; L_0881E1D0: aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_4); if (branch_taken) { goto L_0881E214; } goto L_0881E1E8; } L_0881E1E8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(49))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[2] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[2] = (ctx.gpr[2] + static_cast(24)); goto L_0881E214; L_0881E214: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E21C: ctx.gpr[2] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(49))); aot_gpr_5 = (0u | 255u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(47))); if (branch_taken) { goto L_0881E238; } goto L_0881E230; } L_0881E230: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881E254; } goto L_0881E238; } L_0881E238: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(47))); ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_4); ctx.gpr[2] = (ctx.gpr[2] + static_cast(-1)); goto L_0881E254; L_0881E254: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E25C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1929)))))); ctx.gpr[7] = (aot_gpr_6 << 5u); aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(1396)); aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0881E284u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_0881E290; L_0881E284: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E290: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 31u)); aot_gpr_6 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30596))); ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30600))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0881E2BCu); aot_gpr_6 = (ctx.gpr[7] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 178u, 0x08B60E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E2BCu) goto L_0881E2BC; AOT_REGCACHE_SYNC_OUT(); return; L_0881E2BC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(48))); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); if (branch_taken) { goto L_0881E318; } goto L_0881E2D8; } L_0881E2D8: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30580))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30584))); ctx.gpr[11] = (0u | 0u); ctx.gpr[10] = (ctx.gpr[2] | 0u); goto L_0881E2E8; L_0881E2E8: ctx.gpr[13] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(12))); ctx.gpr[12] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(8))); ctx.gpr[12] = (ctx.gpr[12] & aot_gpr_6); { const bool branch_taken = ctx.gpr[12] != ctx.gpr[8]; ctx.gpr[13] = (ctx.gpr[13] & ctx.gpr[7]); if (branch_taken) { goto L_0881E320; } goto L_0881E2FC; } L_0881E2FC: { const bool branch_taken = ctx.gpr[13] != ctx.gpr[9]; if (branch_taken) { goto L_0881E320; } goto L_0881E304; } L_0881E304: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); ctx.gpr[11] = (ctx.gpr[11] + static_cast(32)); ctx.gpr[3] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = ctx.gpr[3] != 0u; ctx.gpr[10] = (ctx.gpr[10] + static_cast(32)); if (branch_taken) { goto L_0881E2E8; } goto L_0881E318; } L_0881E318: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881E324; } goto L_0881E320; } L_0881E320: ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[11]); goto L_0881E324; L_0881E324: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E334: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(14))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[7] = (0u | 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881E384; } goto L_0881E354; } L_0881E354: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(8)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0881E36Cu); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E36Cu) goto L_0881E36C; AOT_REGCACHE_SYNC_OUT(); return; L_0881E36C: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(14))); aot_gpr_6 = (static_cast(aot_gpr_5) < 240 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0881E38C; } goto L_0881E37C; } L_0881E37C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881E3B0; } goto L_0881E384; } L_0881E384: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_0881E3D8; } goto L_0881E38C; } L_0881E38C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(15)))))); ctx.gpr[16] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_gpr_6 & 64u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881E3A8; } goto L_0881E3A0; } L_0881E3A0: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u < ctx.gpr[16] ? 1u : 0u); if (branch_taken) { goto L_0881E3D8; } goto L_0881E3A8; } L_0881E3A8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[16] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E3D8; } goto L_0881E3B0; } L_0881E3B0: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_31 = (0x0881E3C0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-240)); goto L_0881E044; L_0881E3C0: ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(15)))))); { const bool branch_taken = ctx.gpr[2] == 0u; ctx.gpr[16] = (ctx.gpr[16] & 64u); if (branch_taken) { goto L_0881E3D4; } goto L_0881E3CC; } L_0881E3CC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[16] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E3D8; } goto L_0881E3D4; } L_0881E3D4: ctx.gpr[2] = (0u < ctx.gpr[16] ? 1u : 0u); goto L_0881E3D8; L_0881E3D8: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E3E8: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(15)))))); aot_gpr_5 = (aot_gpr_5 + static_cast(240)); aot_gpr_6 = (aot_gpr_6 & 64u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(14))); if (branch_taken) { goto L_0881E414; } goto L_0881E3FC; } L_0881E3FC: { const bool branch_taken = aot_gpr_5 != aot_gpr_4; if (branch_taken) { goto L_0881E40C; } goto L_0881E404; } L_0881E404: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0881E428; } goto L_0881E40C; } L_0881E40C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_0881E428; } goto L_0881E414; } L_0881E414: { const bool branch_taken = aot_gpr_5 != aot_gpr_4; if (branch_taken) { goto L_0881E424; } goto L_0881E41C; } L_0881E41C: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_0881E428; } goto L_0881E424; } L_0881E424: ctx.gpr[2] = (0u | 0u); goto L_0881E428; L_0881E428: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E430: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[30]); ctx.gpr[30] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(23))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_6); { const std::uint32_t aot_run_words[5]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_31); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_5 = (0u | 0u); ctx.gpr[22] = (0u | 0u); ctx.gpr[23] = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); goto L_0881E488; L_0881E488: ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_0881E620; } goto L_0881E498; } L_0881E498: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(7)))))); aot_gpr_4 = (aot_gpr_4 & 7u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_0881E4D4; } goto L_0881E4B0; } L_0881E4B0: { const bool branch_taken = ctx.gpr[21] == ctx.gpr[23]; if (branch_taken) { goto L_0881E4D4; } goto L_0881E4B8; } L_0881E4B8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0881E4C4u); aot_gpr_4 = (ctx.gpr[21] | 0u); goto L_0881E0E4; L_0881E4C4: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0881E4D8; } goto L_0881E4CC; } L_0881E4CC: { const bool branch_taken = 0u == 0u; ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_0881E4D8; } goto L_0881E4D4; } L_0881E4D4: ctx.gpr[16] = (0u | 1u); goto L_0881E4D8; L_0881E4D8: { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_0881E60C; } goto L_0881E4E0; } L_0881E4E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0881E50C; } goto L_0881E4F0; } L_0881E4F0: { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_0881E504; } goto L_0881E4F8; } L_0881E4F8: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_0881E504; L_0881E504: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_0881E608; } goto L_0881E50C; } L_0881E50C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); ctx.gpr[7] = (ctx.gpr[7] >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); ctx.gpr[19] = (aot_gpr_5 + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_6); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 2u)); aot_gpr_5 = (ctx.gpr[19] < static_cast(1) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); if (branch_taken) { goto L_0881E54C; } goto L_0881E53C; } L_0881E53C: aot_gpr_5 = (aot_gpr_29 + static_cast(24)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_5); if (branch_taken) { goto L_0881E558; } goto L_0881E54C; } L_0881E54C: aot_gpr_5 = (aot_gpr_29 + static_cast(28)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_5); goto L_0881E558; L_0881E558: { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0881E598; } goto L_0881E560; } L_0881E560: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[19] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); aot_gpr_31 = (0x0881E574u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E574u) goto L_0881E574; AOT_REGCACHE_SYNC_OUT(); return; L_0881E574: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); if (branch_taken) { goto L_0881E598; } goto L_0881E584; } L_0881E584: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); aot_gpr_31 = (0x0881E590u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E590u) goto L_0881E590; AOT_REGCACHE_SYNC_OUT(); return; L_0881E590: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); goto L_0881E598; L_0881E598: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_17 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881E5AC; } goto L_0881E5A4; } L_0881E5A4: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { goto L_0881E5C8; } goto L_0881E5AC; } L_0881E5AC: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[16] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881E5C0u); aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E5C0u) goto L_0881E5C0; AOT_REGCACHE_SYNC_OUT(); return; L_0881E5C0: aot_gpr_5 = (ctx.gpr[2] + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_0881E5C8; L_0881E5C8: { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881E5E0; } goto L_0881E5D0; } L_0881E5D0: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_0881E5D0; } goto L_0881E5E0; } L_0881E5E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(32), static_cast(0u)); if (branch_taken) { goto L_0881E5F4; } goto L_0881E5EC; } L_0881E5EC: aot_gpr_31 = (0x0881E5F4u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E5F4u) goto L_0881E5F4; AOT_REGCACHE_SYNC_OUT(); return; L_0881E5F4: aot_gpr_4 = (ctx.gpr[19] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); goto L_0881E608; L_0881E608: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); goto L_0881E60C; L_0881E60C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(23))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_5 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[20] = (ctx.gpr[20] + static_cast(8)); if (branch_taken) { goto L_0881E498; } goto L_0881E620; } L_0881E620: { const bool branch_taken = static_cast(ctx.gpr[22]) <= 0; if (branch_taken) { goto L_0881E67C; } goto L_0881E628; } L_0881E628: aot_gpr_31 = (0x0881E630u); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E630u) goto L_0881E630; AOT_REGCACHE_SYNC_OUT(); return; L_0881E630: aot_gpr_4 = (ctx.gpr[2] & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[22]); 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); } } ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[22] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = ctx.gpr[22] == 0u; ctx.gpr[30] = (ctx.gpr[30] + aot_gpr_4); if (branch_taken) { goto L_0881E674; } goto L_0881E664; } L_0881E664: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_0881E674; } goto L_0881E66C; } L_0881E66C: aot_gpr_31 = (0x0881E674u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E674u) goto L_0881E674; AOT_REGCACHE_SYNC_OUT(); return; L_0881E674: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[30] | 0u); if (branch_taken) { goto L_0881E6B4; } goto L_0881E67C; } L_0881E67C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[21] = (ctx.gpr[23] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_6 = (static_cast(aot_gpr_5) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); if (branch_taken) { goto L_0881E488; } goto L_0881E694; } L_0881E694: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(0u)); if (branch_taken) { goto L_0881E6B0; } goto L_0881E6A0; } L_0881E6A0: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881E6B0; } goto L_0881E6A8; } L_0881E6A8: aot_gpr_31 = (0x0881E6B0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E6B0u) goto L_0881E6B0; AOT_REGCACHE_SYNC_OUT(); return; L_0881E6B0: ctx.gpr[2] = (0u | 0u); goto L_0881E6B4; L_0881E6B4: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E6E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(8), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-257)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-513)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(19080)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (0u + static_cast(-1025)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (0u + static_cast(-2049)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-4097)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-8193)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-16385)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65535u << 16u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(32767)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65535u << 16u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65506u << 16u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (32u << 16u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const std::uint32_t aot_run_words[7]{aot_gpr_4, 0u, 0u, 0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(8), aot_run_words); } aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0881E7CCu); aot_gpr_5 = (0u | 7u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 565u, 0x08B664E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E7CCu) goto L_0881E7CC; AOT_REGCACHE_SYNC_OUT(); return; L_0881E7CC: ctx.gpr[2] = (ctx.gpr[16] | 0u); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E7E0: aot_gpr_5 = (17279u << 16u); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_15 = aot_fpr_15 / aot_fpr_14; aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_fpr_13 = aot_fpr_15 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881E810; } goto L_0881E80C; } L_0881E80C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0881E810; L_0881E810: { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_gpr_4 = (0u | 1u); goto L_0881E830; } goto L_0881E830; L_0881E830: jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 & 255u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E838: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881E868u); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E868u) goto L_0881E868; AOT_REGCACHE_SYNC_OUT(); return; L_0881E868: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881E880u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); goto L_0881E25C; L_0881E880: aot_gpr_4 = (17279u << 16u); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); aot_fpr_14 = std::bit_cast(0u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0881E8AC; } goto L_0881E8A4; } L_0881E8A4: { const bool branch_taken = 0u == 0u; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (branch_taken) { goto L_0881E8C4; } goto L_0881E8AC; } L_0881E8AC: aot_gpr_4 = (15267u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_15 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_0881E8C4; L_0881E8C4: aot_fpr_15 = aot_fpr_15 / aot_fpr_13; aot_fpr_14 = aot_fpr_15 + aot_fpr_14; 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_0881E8E0; } goto L_0881E8DC; } L_0881E8DC: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0881E8E0; L_0881E8E0: { 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; } aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881E8FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x0881E924u); aot_gpr_17 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 500u, 0x08822BC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E924u) goto L_0881E924; AOT_REGCACHE_SYNC_OUT(); return; L_0881E924: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881E930u); aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881E838; L_0881E930: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881E948u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E948u) goto L_0881E948; AOT_REGCACHE_SYNC_OUT(); return; L_0881E948: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[19] = (ctx.gpr[2] << 6u); ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(42)))))); aot_gpr_4 = (aot_gpr_4 & 8u); 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_0881EA5C; } goto L_0881E970; } L_0881E970: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); { const bool branch_taken = ctx.gpr[18] == 0u; if (branch_taken) { goto L_0881EA5C; } goto L_0881E97C; } L_0881E97C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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_0881EA5C; } goto L_0881E998; } L_0881E998: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881E9B0u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E9B0u) goto L_0881E9B0; AOT_REGCACHE_SYNC_OUT(); return; L_0881E9B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881E9F4; } goto L_0881E9C8; } L_0881E9C8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881E9D8u); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0881F588; L_0881E9D8: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0881EA5C; } goto L_0881E9E0; } L_0881E9E0: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881E9ECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 434u, 0x088F1FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E9ECu) goto L_0881E9EC; AOT_REGCACHE_SYNC_OUT(); return; L_0881E9EC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881EA5C; } goto L_0881E9F4; } L_0881E9F4: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_5; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0881EA10; } goto L_0881EA04; } L_0881EA04: aot_gpr_5 = (0u | 57u); { const bool branch_taken = ctx.gpr[18] != aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0881EA18; } goto L_0881EA10; } L_0881EA10: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_0881EA18; L_0881EA18: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881EA5C; } goto L_0881EA20; } L_0881EA20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881EA48; } goto L_0881EA38; } L_0881EA38: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881EA48u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881EA48: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881EA5Cu); ctx.gpr[7] = (0u | 1u); goto L_0881F6CC; L_0881EA5C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881EA68u); aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881F0FC; L_0881EA68: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0881EA78u); aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881E25C; L_0881EA78: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881EADC; } goto L_0881EA84; } L_0881EA84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881EADC; } goto L_0881EA94; } L_0881EA94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881EAACu); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EAACu) goto L_0881EAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0881EAAC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881EADCu); ctx.gpr[8] = (0u | 0u); goto L_0881FB44; L_0881EADC: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881EAE8u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 194u, 0x08820DB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EAE8u) goto L_0881EAE8; AOT_REGCACHE_SYNC_OUT(); return; L_0881EAE8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881EB08: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(456))); ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); ctx.gpr[8] = (ctx.gpr[8] & 4096u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_0881EB38; } goto L_0881EB28; } L_0881EB28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x0881EB38u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 240u, 0x0882126Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EB38u) goto L_0881EB38; AOT_REGCACHE_SYNC_OUT(); return; L_0881EB38: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881EB44: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 1u); aot_gpr_17 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = ctx.gpr[20] == 0u; ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0881ECB4; } goto L_0881EB78; } L_0881EB78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + 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_0881ECB4; } goto L_0881EB94; } L_0881EB94: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(46))); aot_gpr_5 = (0u | 255u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; if (branch_taken) { goto L_0881ECB4; } goto L_0881EBB8; } L_0881EBB8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881EBD0u); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EBD0u) goto L_0881EBD0; AOT_REGCACHE_SYNC_OUT(); return; L_0881EBD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0881EC20; } goto L_0881EBE8; } L_0881EBE8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881EBF8u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_0881F588; L_0881EBF8: { const bool branch_taken = ctx.gpr[2] == 0u; if (branch_taken) { goto L_0881EC08; } goto L_0881EC00; } L_0881EC00: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (0u | 1u); if (branch_taken) { goto L_0881EC24; } goto L_0881EC08; } L_0881EC08: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881EC18u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881EC18: { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (0u | 0u); if (branch_taken) { goto L_0881EC24; } goto L_0881EC20; } L_0881EC20: ctx.gpr[21] = (0u | 1u); goto L_0881EC24; L_0881EC24: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_0881EC68; } goto L_0881EC2C; } L_0881EC2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881EC44u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EC44u) goto L_0881EC44; AOT_REGCACHE_SYNC_OUT(); return; L_0881EC44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(46))); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; if (branch_taken) { goto L_0881EC68; } goto L_0881EC64; } L_0881EC64: ctx.gpr[21] = (0u | 0u); goto L_0881EC68; L_0881EC68: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_0881ECB4; } goto L_0881EC70; } L_0881EC70: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.gpr[7] = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (aot_gpr_6 << 6u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(46))); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 4u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (ctx.gpr[16] | 0u); jump_target = ctx.gpr[11]; aot_gpr_31 = (0x0881ECB4u); ctx.gpr[10] = (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 == 0x0881ECB4u) goto L_0881ECB4; AOT_REGCACHE_SYNC_OUT(); return; L_0881ECB4: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_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]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881ECDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_17 = (aot_gpr_5 | 0u); ctx.gpr[20] = (ctx.gpr[10] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); ctx.gpr[21] = (ctx.gpr[9] & 255u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x0881ED24u); aot_gpr_5 = (ctx.gpr[7] | 0u); goto L_0881E290; L_0881ED24: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(42)))))); aot_gpr_5 = (aot_gpr_4 & 992u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[22] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0881ED44; } goto L_0881ED34; } L_0881ED34: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881ED40u); aot_gpr_5 = (aot_gpr_17 | 0u); goto L_0881F7A0; L_0881ED40: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(42)))))); goto L_0881ED44; L_0881ED44: aot_gpr_4 = (aot_gpr_4 & 31744u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881ED60; } goto L_0881ED50; } L_0881ED50: aot_gpr_6 = (aot_gpr_4 >> 10u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881ED60u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 26u, 0x088201D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881ED60u) goto L_0881ED60; AOT_REGCACHE_SYNC_OUT(); return; L_0881ED60: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0881ED74u); ctx.gpr[7] = (ctx.gpr[21] | 0u); goto L_0881EE20; L_0881ED74: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (0u | 255u); { const bool branch_taken = ctx.gpr[21] == aot_gpr_4; if (branch_taken) { goto L_0881EDF8; } goto L_0881ED84; } L_0881ED84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); aot_gpr_6 = (0u | 58u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0881EDA0; } goto L_0881ED94; } L_0881ED94: aot_gpr_6 = (0u | 57u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0881EDA8; } goto L_0881EDA0; } L_0881EDA0: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_0881EDA8; L_0881EDA8: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881EDF8; } goto L_0881EDB0; } L_0881EDB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881EDF8; } goto L_0881EDC8; } L_0881EDC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (ctx.gpr[21] & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); aot_gpr_6 = (aot_gpr_17 | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (ctx.gpr[20] | 0u); jump_target = ctx.gpr[11]; aot_gpr_31 = (0x0881EDF8u); ctx.gpr[10] = (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 == 0x0881EDF8u) goto L_0881EDF8; AOT_REGCACHE_SYNC_OUT(); return; L_0881EDF8: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881EE20: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (ctx.gpr[7] & 255u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0881EEAC; } goto L_0881EE3C; } L_0881EE3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(216)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0881EE54u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EE54u) goto L_0881EE54; AOT_REGCACHE_SYNC_OUT(); return; L_0881EE54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881EE6Cu); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EE6Cu) goto L_0881EE6C; AOT_REGCACHE_SYNC_OUT(); return; L_0881EE6C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(44)))))); aot_gpr_5 = (aot_gpr_5 & 8u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0881EEA0; } goto L_0881EE94; } L_0881EE94: aot_gpr_4 = (aot_gpr_4 + static_cast(28)); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(10))); if (branch_taken) { goto L_0881EEA4; } goto L_0881EEA0; } L_0881EEA0: ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(21))); goto L_0881EEA4; L_0881EEA4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881EEB0; } goto L_0881EEAC; } L_0881EEAC: ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(22))); goto L_0881EEB0; L_0881EEB0: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881EEC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(460))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (aot_gpr_6 & 8192u); if (branch_taken) { goto L_0881EEF4; } goto L_0881EEDC; } L_0881EEDC: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0881EEF4; } goto L_0881EEE4; } L_0881EEE4: aot_gpr_31 = (0x0881EEECu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 696u, 0x089AB4FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EEECu) goto L_0881EEEC; AOT_REGCACHE_SYNC_OUT(); return; L_0881EEEC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881EF08; } goto L_0881EEF4; } L_0881EEF4: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0881EF08; } goto L_0881EEFC; } L_0881EEFC: aot_gpr_5 = (0u + static_cast(-8193)); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(460), aot_gpr_5); goto L_0881EF08; L_0881EF08: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881EF14: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_0881EFC0; } goto L_0881EF24; } L_0881EF24: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_0881EFB8; } goto L_0881EF30; } L_0881EF30: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_5 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { 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)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); { 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)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_14 = ctx.fpr[16] + ctx.fpr[17]; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19252))); { const float fs = aot_fpr_15; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_15)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_0881EFC8; } goto L_0881EFB0; L_0881EFB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881EFF4; } goto L_0881EFB8; } L_0881EFB8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881EFF4; } goto L_0881EFC0; } L_0881EFC0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881EFF4; } goto L_0881EFC8; } L_0881EFC8: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(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; } { const float fs = aot_fpr_12; const float ft = aot_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_13 = aot_fpr_13 + aot_fpr_12; aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_0881EFF4; } goto L_0881EFEC; } L_0881EFEC: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), std::bit_cast(aot_fpr_12)); goto L_0881EFF4; L_0881EFF4: jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881EFFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[8] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_6 = (ctx.gpr[7] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != ctx.gpr[16]; aot_gpr_4 = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_0881F038; } goto L_0881F028; } L_0881F028: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); ctx.gpr[7] = (ctx.gpr[7] & 2048u); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_0881F064; } goto L_0881F038; } L_0881F038: ctx.gpr[7] = (ctx.gpr[16] | aot_gpr_6); { const bool branch_taken = ctx.gpr[7] == 0u; if (branch_taken) { goto L_0881F054; } goto L_0881F044; } L_0881F044: { const bool branch_taken = ctx.gpr[16] != 0u; if (branch_taken) { goto L_0881F06C; } goto L_0881F04C; } L_0881F04C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F088; } goto L_0881F054; } L_0881F054: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 2048u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_0881F0E8; } goto L_0881F064; } L_0881F064: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F0E8; } goto L_0881F06C; } L_0881F06C: { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_0881F088; } goto L_0881F074; } L_0881F074: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); ctx.gpr[7] = (0u + static_cast(-2049)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = aot_gpr_5 == ctx.gpr[16]; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_6); if (branch_taken) { goto L_0881F0AC; } goto L_0881F088; } L_0881F088: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881F098u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 269u, 0x088215C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F098u) goto L_0881F098; AOT_REGCACHE_SYNC_OUT(); return; L_0881F098: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0881F0B4; } goto L_0881F0A4; } L_0881F0A4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F0C4; } goto L_0881F0AC; } L_0881F0AC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F0E8; } goto L_0881F0B4; } L_0881F0B4: { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881F0C4; } goto L_0881F0BC; } L_0881F0BC: aot_gpr_31 = (0x0881F0C4u); aot_gpr_5 = (aot_gpr_17 + static_cast(12)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F0C4u) goto L_0881F0C4; AOT_REGCACHE_SYNC_OUT(); return; L_0881F0C4: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881F0E8; } goto L_0881F0D4; } L_0881F0D4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881F0E8; } goto L_0881F0E0; } L_0881F0E0: aot_gpr_31 = (0x0881F0E8u); aot_gpr_5 = (aot_gpr_17 + static_cast(12)); 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 == 0x0881F0E8u) goto L_0881F0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0881F0E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F0FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0881F114u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F114u) goto L_0881F114; AOT_REGCACHE_SYNC_OUT(); return; L_0881F114: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_0881F11C; L_0881F11C: { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0881F134; } goto L_0881F124; } L_0881F124: { const bool branch_taken = aot_gpr_5 == aot_gpr_4; if (branch_taken) { goto L_0881F134; } goto L_0881F12C; } L_0881F12C: { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); if (branch_taken) { goto L_0881F11C; } goto L_0881F134; } L_0881F134: { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0881F190; } goto L_0881F13C; } L_0881F13C: { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881F180; } goto L_0881F144; } L_0881F144: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_5 = (0u | 31u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (ctx.hi); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_0881F16C; } goto L_0881F160; } L_0881F160: aot_gpr_4 = (20352u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_0881F16C; L_0881F16C: aot_gpr_4 = (16880u << 16u); ctx.fpr[0] = std::bit_cast(aot_gpr_4); ctx.fpr[0] = aot_fpr_12 / ctx.fpr[0]; { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F1A0; } goto L_0881F180; } L_0881F180: aot_gpr_4 = (16256u << 16u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_0881F1A0; } goto L_0881F190; } L_0881F190: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); ctx.fpr[0] = ctx.fpr[0] / aot_fpr_12; goto L_0881F1A0; L_0881F1A0: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F1B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_6 << 6u); ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0881F1E0u); aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0881E25C; L_0881F1E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17150u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fpr[0] = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4))); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_fpr_13 = aot_fpr_15 / aot_fpr_13; aot_gpr_5 = (17279u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_14 / aot_fpr_12; aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4197))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[0]; { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = aot_gpr_6 == 0u; ctx.fpr[0] = aot_fpr_12 + ctx.fpr[0]; if (branch_taken) { goto L_0881F260; } goto L_0881F23C; } L_0881F23C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 2048u); 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_0881F260; } goto L_0881F254; } L_0881F254: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[0] = std::bit_cast(aot_gpr_4); goto L_0881F260; L_0881F260: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F274: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(8)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); jump_target = aot_gpr_5; aot_gpr_31 = (0x0881F294u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F294u) goto L_0881F294; AOT_REGCACHE_SYNC_OUT(); return; L_0881F294: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); ctx.gpr[2] = (aot_gpr_4 & 512u); ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F2BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0881F2D8u); ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0881F7A0; L_0881F2D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881F300; } goto L_0881F2F0; } L_0881F2F0: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881F300u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881F300: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881F368; } goto L_0881F318; } L_0881F318: ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = ctx.gpr[16] == 0u; if (branch_taken) { goto L_0881F368; } goto L_0881F324; } L_0881F324: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + 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_0881F368; } goto L_0881F340; } L_0881F340: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881F358u); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F358u) goto L_0881F358; AOT_REGCACHE_SYNC_OUT(); return; L_0881F358: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881F368u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881F368: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F37C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(92))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881F3B8u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F3B8u) goto L_0881F3B8; AOT_REGCACHE_SYNC_OUT(); return; L_0881F3B8: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881F3E4; } goto L_0881F3D4; } L_0881F3D4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0881F3E4u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881F3E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); goto L_0881F410; } goto L_0881F3FC; L_0881F3FC: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881F40Cu); aot_gpr_6 = (0u | 1u); goto L_0881F474; L_0881F40C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); goto L_0881F410; L_0881F410: aot_gpr_4 = (aot_gpr_4 | 512u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1024u); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(2120), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(40)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_6); aot_gpr_6 = (ctx.gpr[16] | 0u); jump_target = ctx.gpr[8]; aot_gpr_31 = (0x0881F44Cu); ctx.gpr[7] = (0u | 1u); 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 == 0x0881F44Cu) goto L_0881F44C; AOT_REGCACHE_SYNC_OUT(); return; L_0881F44C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881F458u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 434u, 0x088F1FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F458u) goto L_0881F458; AOT_REGCACHE_SYNC_OUT(); return; L_0881F458: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F474: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(92))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); ctx.gpr[20] = (aot_gpr_6 & 255u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881F4B8u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F4B8u) goto L_0881F4B8; AOT_REGCACHE_SYNC_OUT(); return; L_0881F4B8: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_5 = (0u + static_cast(-1025)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(2120), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881F4F8u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F4F8u) goto L_0881F4F8; AOT_REGCACHE_SYNC_OUT(); return; L_0881F4F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); aot_gpr_4 = (aot_gpr_4 & 8u); 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_0881F534; } goto L_0881F520; } L_0881F520: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881F534u); ctx.gpr[7] = (0u | 1u); goto L_0881F6CC; L_0881F534: { const bool branch_taken = ctx.gpr[20] == 0u; if (branch_taken) { goto L_0881F568; } goto L_0881F53C; } L_0881F53C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; if (branch_taken) { goto L_0881F568; } goto L_0881F554; } L_0881F554: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0881F568u); ctx.gpr[7] = (0u | 1u); goto L_0881F6CC; L_0881F568: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F588: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0881F5E8; } goto L_0881F5B4; } L_0881F5B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881F5CCu); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F5CCu) goto L_0881F5CC; AOT_REGCACHE_SYNC_OUT(); return; L_0881F5CC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (0u | 58u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_0881F5F8; } goto L_0881F5E0; } L_0881F5E0: { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (0u | 57u); if (branch_taken) { goto L_0881F5F0; } goto L_0881F5E8; } L_0881F5E8: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0881F6B8; } goto L_0881F5F0; } L_0881F5F0: { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; aot_gpr_5 = (aot_gpr_6 & 255u); if (branch_taken) { goto L_0881F600; } goto L_0881F5F8; } L_0881F5F8: aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_6 & 255u); goto L_0881F600; L_0881F600: { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0881F630; } goto L_0881F608; } L_0881F608: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2120))); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_0881F628; } goto L_0881F614; } L_0881F614: ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); { const bool branch_taken = ctx.gpr[16] != 0u; if (branch_taken) { goto L_0881F638; } goto L_0881F620; } L_0881F620: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F640; } goto L_0881F628; } L_0881F628: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0881F6B8; } goto L_0881F630; } L_0881F630: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0881F6B8; } goto L_0881F638; } L_0881F638: { const bool branch_taken = ctx.gpr[16] != aot_gpr_17; if (branch_taken) { goto L_0881F628; } goto L_0881F640; } L_0881F640: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 & 512u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; if (branch_taken) { goto L_0881F664; } goto L_0881F658; } L_0881F658: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); { const bool branch_taken = aot_gpr_5 != aot_gpr_17; if (branch_taken) { goto L_0881F6AC; } goto L_0881F664; } L_0881F664: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(8)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0881F67Cu); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F67Cu) goto L_0881F67C; AOT_REGCACHE_SYNC_OUT(); return; L_0881F67C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881F6B4; } goto L_0881F6A4; } L_0881F6A4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0881F6B8; } goto L_0881F6AC; } L_0881F6AC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0881F6B8; } goto L_0881F6B4; } L_0881F6B4: ctx.gpr[2] = (0u | 1u); goto L_0881F6B8; L_0881F6B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F6CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_17 = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[7] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0881F6FCu); aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881F7A0; L_0881F6FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881F724u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F724u) goto L_0881F724; AOT_REGCACHE_SYNC_OUT(); return; L_0881F724: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[18]; if (branch_taken) { goto L_0881F784; } goto L_0881F72C; } L_0881F72C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881F73Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 269u, 0x088215C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F73Cu) goto L_0881F73C; AOT_REGCACHE_SYNC_OUT(); return; L_0881F73C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_5 = (ctx.gpr[18] & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_17 + aot_gpr_6); aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); jump_target = ctx.gpr[11]; aot_gpr_31 = (0x0881F76Cu); ctx.gpr[10] = (0u | 1u); 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 == 0x0881F76Cu) goto L_0881F76C; AOT_REGCACHE_SYNC_OUT(); return; L_0881F76C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881F784u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F784u) goto L_0881F784; AOT_REGCACHE_SYNC_OUT(); return; L_0881F784: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F7A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; if (branch_taken) { goto L_0881F800; } goto L_0881F7B8; } L_0881F7B8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(8)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0881F7D0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F7D0u) goto L_0881F7D0; AOT_REGCACHE_SYNC_OUT(); return; L_0881F7D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 2u); 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_0881F808; } goto L_0881F7F8; } L_0881F7F8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F868; } goto L_0881F800; } L_0881F800: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881F868; } goto L_0881F808; } L_0881F808: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2048))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; if (branch_taken) { goto L_0881F868; } goto L_0881F820; } L_0881F820: aot_gpr_31 = (0x0881F828u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 110u, 0x08A1CA0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F828u) goto L_0881F828; AOT_REGCACHE_SYNC_OUT(); return; L_0881F828: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(24), 0u); goto L_0881F848; } goto L_0881F838; L_0881F838: aot_gpr_31 = (0x0881F840u); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F840u) goto L_0881F840; AOT_REGCACHE_SYNC_OUT(); return; L_0881F840: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(24), 0u); goto L_0881F848; L_0881F848: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881F868; } goto L_0881F858; } L_0881F858: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881F868; } goto L_0881F860; } L_0881F860: aot_gpr_31 = (0x0881F868u); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); 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 == 0x0881F868u) goto L_0881F868; AOT_REGCACHE_SYNC_OUT(); return; L_0881F868: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F874: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0881F8C4; } goto L_0881F8A8; } L_0881F8A8: { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_0881F8BC; } goto L_0881F8B0; } L_0881F8B0: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_17); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_0881F8BC; L_0881F8BC: { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_4); if (branch_taken) { goto L_0881F9D0; } goto L_0881F8C4; } L_0881F8C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); ctx.gpr[7] = (ctx.gpr[7] >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); if (branch_taken) { goto L_0881F904; } goto L_0881F8F4; } L_0881F8F4: aot_gpr_6 = (aot_gpr_29 + static_cast(8)); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[18]); if (branch_taken) { goto L_0881F910; } goto L_0881F904; } L_0881F904: aot_gpr_6 = (aot_gpr_29 + static_cast(12)); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[18]); goto L_0881F910; L_0881F910: { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0881F950; } goto L_0881F918; } L_0881F918: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_5); aot_gpr_31 = (0x0881F92Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F92Cu) goto L_0881F92C; AOT_REGCACHE_SYNC_OUT(); return; L_0881F92C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { goto L_0881F950; } goto L_0881F93C; } L_0881F93C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_gpr_31 = (0x0881F948u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F948u) goto L_0881F948; AOT_REGCACHE_SYNC_OUT(); return; L_0881F948: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_0881F950; L_0881F950: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; ctx.gpr[19] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881F964; } goto L_0881F95C; } L_0881F95C: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); if (branch_taken) { goto L_0881F980; } goto L_0881F964; } L_0881F964: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0881F978u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F978u) goto L_0881F978; AOT_REGCACHE_SYNC_OUT(); return; L_0881F978: aot_gpr_5 = (ctx.gpr[2] + ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_0881F980; L_0881F980: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); if (aot_gpr_5 == 0u) { aot_gpr_17 = (aot_gpr_4 | 0u); goto L_0881F9A8; } goto L_0881F994; L_0881F994: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_17); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_0881F994; } goto L_0881F9A4; } L_0881F9A4: aot_gpr_17 = (aot_gpr_4 | 0u); goto L_0881F9A8; L_0881F9A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); if (branch_taken) { goto L_0881F9BC; } goto L_0881F9B4; } L_0881F9B4: aot_gpr_31 = (0x0881F9BCu); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F9BCu) goto L_0881F9BC; AOT_REGCACHE_SYNC_OUT(); return; L_0881F9BC: aot_gpr_4 = (ctx.gpr[18] << 2u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_17); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), aot_gpr_4); goto L_0881F9D0; L_0881F9D0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881F9F0: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_gpr_4 = (ctx.gpr[7] - aot_gpr_6); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_4) >> 2u)); ctx.gpr[7] = (ctx.gpr[7] >> 30u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[7] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; if (branch_taken) { goto L_0881FA48; } goto L_0881FA1C; } L_0881FA1C: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[8]; if (branch_taken) { goto L_0881FA40; } goto L_0881FA28; } L_0881FA28: ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); ctx.gpr[8] = (ctx.gpr[7] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0881FA1C; } goto L_0881FA38; } L_0881FA38: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FA48; } goto L_0881FA40; } L_0881FA40: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_0881FA4C; } goto L_0881FA48; } L_0881FA48: ctx.gpr[2] = (0u | 0u); goto L_0881FA4C; L_0881FA4C: jump_target = aot_gpr_31; local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881FA54: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), aot_gpr_5); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881FA70: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881FB20; } goto L_0881FA94; } L_0881FA94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); ctx.gpr[18] = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881FAB0u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FAB0u) goto L_0881FAB0; AOT_REGCACHE_SYNC_OUT(); return; L_0881FAB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0881FAC8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); goto L_0881E25C; L_0881FAC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0881FAE4u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_0881F0FC; L_0881FAE4: aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; 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 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_17 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881FB18; } goto L_0881FB08; } L_0881FB08: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881FB28; } goto L_0881FB18; } L_0881FB18: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_0881FB2C; } goto L_0881FB20; } L_0881FB20: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_0881FB2C; } goto L_0881FB28; } L_0881FB28: ctx.gpr[2] = (0u | 0u); goto L_0881FB2C; L_0881FB2C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881FB44: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(8))); aot_gpr_5 = (aot_gpr_6 << 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[22]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[22] = (ctx.gpr[8] & 255u); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x0881FB8Cu); aot_gpr_5 = (ctx.gpr[7] | 0u); goto L_0881E290; L_0881FB8C: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881FBB8; } goto L_0881FB9C; } L_0881FB9C: ctx.gpr[20] = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(24))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_0881FBC0; } goto L_0881FBB0; } L_0881FBB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FBF0; } goto L_0881FBB8; } L_0881FBB8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FEBC; } goto L_0881FBC0; } L_0881FBC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_gpr_5 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; if (branch_taken) { goto L_0881FBE0; } goto L_0881FBDC; } L_0881FBDC: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); goto L_0881FBE0; L_0881FBE0: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881FBC0; } goto L_0881FBF0; } L_0881FBF0: { const bool branch_taken = ctx.gpr[19] == 0u; if (branch_taken) { goto L_0881FC08; } goto L_0881FBF8; } L_0881FBF8: { const bool branch_taken = ctx.gpr[22] != 0u; if (branch_taken) { goto L_0881FC10; } goto L_0881FC00; } L_0881FC00: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FD2C; } goto L_0881FC08; } L_0881FC08: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FEBC; } goto L_0881FC10; } L_0881FC10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881FC98; } goto L_0881FC1C; } L_0881FC1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881FC98; } goto L_0881FC3C; } L_0881FC3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(216)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0881FC58u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FC58u) goto L_0881FC58; AOT_REGCACHE_SYNC_OUT(); return; L_0881FC58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881FC70u); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FC70u) goto L_0881FC70; AOT_REGCACHE_SYNC_OUT(); return; L_0881FC70: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 8u); 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_0881FCAC; } goto L_0881FC98; } L_0881FC98: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_0881FCD4; } goto L_0881FCA4; L_0881FCA4: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FD2C; } goto L_0881FCAC; } L_0881FCAC: ctx.gpr[7] = (16448u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[7] = (16256u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x0881FCCCu); aot_gpr_6 = (0u | 228u); 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 == 0x0881FCCCu) goto L_0881FCCC; AOT_REGCACHE_SYNC_OUT(); return; L_0881FCCC: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FEBC; } goto L_0881FCD4; } L_0881FCD4: 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_0881FD2C; } goto L_0881FCEC; } L_0881FCEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881FD04u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD04u) goto L_0881FD04; AOT_REGCACHE_SYNC_OUT(); return; L_0881FD04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 8u); 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_0881FD74; } goto L_0881FD2C; } L_0881FD2C: aot_gpr_31 = (0x0881FD34u); ctx.gpr[18] = (ctx.gpr[19] + static_cast(-1)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD34u) goto L_0881FD34; AOT_REGCACHE_SYNC_OUT(); return; L_0881FD34: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0881FD48u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD48u) goto L_0881FD48; AOT_REGCACHE_SYNC_OUT(); return; L_0881FD48: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881FD9C; } goto L_0881FD6C; } L_0881FD6C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FEBC; } goto L_0881FD74; } L_0881FD74: ctx.gpr[7] = (16448u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[7] = (16256u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x0881FD94u); aot_gpr_6 = (0u | 228u); 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 == 0x0881FD94u) goto L_0881FD94; AOT_REGCACHE_SYNC_OUT(); return; L_0881FD94: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FEBC; } goto L_0881FD9C; } L_0881FD9C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_gpr_5 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; if (branch_taken) { goto L_0881FEAC; } goto L_0881FDB8; } L_0881FDB8: { const bool branch_taken = ctx.gpr[19] != 0u; if (branch_taken) { goto L_0881FEA8; } goto L_0881FDC0; } L_0881FDC0: aot_gpr_31 = (0x0881FDC8u); 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 == 0x0881FDC8u) goto L_0881FDC8; AOT_REGCACHE_SYNC_OUT(); return; L_0881FDC8: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_0881FE0C; } goto L_0881FDD0; } L_0881FDD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_gpr_5 = (ctx.gpr[18] << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (ctx.gpr[7] | 0u); ctx.gpr[7] = (16448u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); ctx.gpr[7] = (16256u << 16u); aot_gpr_31 = (0x0881FE04u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); 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 == 0x0881FE04u) goto L_0881FE04; AOT_REGCACHE_SYNC_OUT(); return; L_0881FE04: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FEA0; } goto L_0881FE0C; } L_0881FE0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_0881FEA0; } goto L_0881FE18; } L_0881FE18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (17279u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_gpr_6 = (ctx.gpr[18] << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); 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 & 255u); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881FEA0; } goto L_0881FE60; } L_0881FE60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_gpr_5 = (ctx.gpr[18] << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (ctx.gpr[7] | 0u); ctx.gpr[7] = (16448u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); ctx.gpr[7] = (16256u << 16u); aot_gpr_31 = (0x0881FE94u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); 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 == 0x0881FE94u) goto L_0881FE94; AOT_REGCACHE_SYNC_OUT(); return; L_0881FE94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); goto L_0881FEA0; L_0881FEA0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_0881FEBC; } goto L_0881FEA8; } L_0881FEA8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(-1)); goto L_0881FEAC; L_0881FEAC: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881FD9C; } goto L_0881FEBC; } L_0881FEBC: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881FEE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0881FEF4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FEF4u) goto L_0881FEF4; AOT_REGCACHE_SYNC_OUT(); return; L_0881FEF4: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (0u | 170u); if (branch_taken) { goto L_0881FF40; } goto L_0881FF00; } L_0881FF00: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_6 = (aot_gpr_6 & 16u); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; if (branch_taken) { goto L_0881FF34; } goto L_0881FF18; } L_0881FF18: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(48)))))); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; if (branch_taken) { goto L_0881FF34; } goto L_0881FF24; } L_0881FF24: aot_gpr_5 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0881FF40; } goto L_0881FF34; } L_0881FF34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_0881FF00; } goto L_0881FF40; } L_0881FF40: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881FF4C: jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_0881FF54: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881FF84u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FF84u) goto L_0881FF84; AOT_REGCACHE_SYNC_OUT(); return; L_0881FF84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; if (branch_taken) { goto L_0881FFE4; } goto L_0881FF98; } L_0881FF98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x0881FFB0u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FFB0u) goto L_0881FFB0; AOT_REGCACHE_SYNC_OUT(); return; L_0881FFB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; if (branch_taken) { goto L_0881FFDC; } goto L_0881FFC4; } L_0881FFC4: aot_gpr_31 = (0x0881FFCCu); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, 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 == 0x0881FFCCu) goto L_0881FFCC; AOT_REGCACHE_SYNC_OUT(); return; L_0881FFCC: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { goto L_0881FFEC; } goto L_0881FFD4; } L_0881FFD4: { 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_0007_entry, 7u, 2u, 0x08820004u>(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_0881FFDC; } L_0881FFDC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 3u, 0x08820008u>(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_0881FFE4; } L_0881FFE4: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 3u, 0x08820008u>(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_0881FFEC; } L_0881FFEC: aot_gpr_31 = (0x0881FFF4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 80u, 0x0894854Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FFF4u) goto L_0881FFF4; AOT_REGCACHE_SYNC_OUT(); return; L_0881FFF4: { const bool branch_taken = ctx.gpr[2] != 0u; if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 2u, 0x08820004u>(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_0881FFFC; } L_0881FFFC: { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 3u, 0x08820008u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 2u, 0x08820004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } } #undef AOT_REGCACHE_SYNC_IN #undef AOT_REGCACHE_SYNC_OUT void recomp_unit_0006(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0006_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_6(Runtime &runtime) { runtime.register_generated_unit(6u, 0x0881C000u, 16384u, &recomp_unit_0006, &recomp_unit_0006_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x0881C000u, &recomp_unit_0006, "recomp_unit_0006", kEntryMasks_recomp_unit_0006, 64u); } } // namespace psprecomp