#include "psprecomp/runtime.hpp" #include "generated_units.hpp" #include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.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_0043[64] = { 0x0814106912000001ull, 0x020000C02A020008ull, 0x24802000240C0080ull, 0x0090024008401000ull, 0x0488810001052008ull, 0x8120808000042002ull, 0xA400000000000004ull, 0x0490040048022A10ull, 0x0000082009408040ull, 0x0000000001292004ull, 0x12A4080200080080ull, 0x00100568140A9400ull, 0x90012088A2544A55ull, 0x002A00101542C810ull, 0x0128480090002801ull, 0x80A0021490020020ull, 0x00841800000004A4ull, 0x0160000000000000ull, 0x000005A154082041ull, 0xA801000000000000ull, 0x800800A0200002D0ull, 0x00000000002D0000ull, 0x0000000002A84201ull, 0x0000200140000000ull, 0x0840000080000108ull, 0x0000000414010000ull, 0x0080206C15002006ull, 0x0015400020A80140ull, 0x0541010000110800ull, 0x0400541010150404ull, 0x0150404041001001ull, 0x1504040400400410ull, 0x1010104004004100ull, 0x4004100150404054ull, 0x1040054101010400ull, 0x0400541010100100ull, 0x0405410101001001ull, 0x1040040041001504ull, 0x0010010400541010ull, 0x0100104005410101ull, 0x88A20A20A2000000ull, 0x0040000010000820ull, 0x2088800100000000ull, 0x0000400000100008ull, 0x0008208001000000ull, 0x0000000040000010ull, 0x0000400002800100ull, 0x00000400C0000000ull, 0x2100008001600000ull, 0x0840002008000884ull, 0x1084000200800221ull, 0x8421000080200022ull, 0x8842100008020008ull, 0x2210840002008000ull, 0x0016000000010800ull, 0x1400000AA0000000ull, 0x8000280000500001ull, 0x4000140000285428ull, 0x000050A002112A14ull, 0x002850A850800028ull, 0x0800D42840001400ull, 0x00A4090240A00000ull, 0x0005084100005000ull, 0x800C224208000280ull, }; static constexpr std::uint16_t kEntryBases_recomp_unit_0043[64] = { 1u, 12u, 20u, 29u, 36u, 46u, 54u, 58u, 69u, 76u, 82u, 91u, 104u, 123u, 136u, 146u, 156u, 164u, 167u, 179u, 183u, 192u, 196u, 203u, 206u, 211u, 215u, 227u, 237u, 245u, 256u, 265u, 274u, 281u, 292u, 301u, 309u, 318u, 327u, 335u, 344u, 355u, 359u, 364u, 367u, 371u, 373u, 377u, 380u, 386u, 393u, 401u, 409u, 417u, 424u, 429u, 435u, 441u, 451u, 463u, 475u, 485u, 494u, 501u, }; void recomp_unit_0043_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,29,5,6,31,2 fprs=12,13,14,16 gpr_occ=2606 fpr_occ=1379 gpr_total=4000 fpr_total=1870 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_16 = ctx.fpr[16]; bool aot_regcache_valid = true; #define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[16] = aot_fpr_16; } } while (false) #define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_16 = ctx.fpr[16]; } } 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 - 0x088B0000u; 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_0043[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_0043[entry_group] + std::popcount(entry_mask & (entry_bit - 1ull))); } } } switch (entry_id) { case 1u: goto L_088B0000; case 2u: goto L_088B0064; case 3u: goto L_088B0070; case 4u: goto L_088B0080; case 5u: goto L_088B008C; case 6u: goto L_088B0094; case 7u: goto L_088B0098; case 8u: goto L_088B00B0; case 9u: goto L_088B00C8; case 10u: goto L_088B00D0; case 11u: goto L_088B00EC; case 12u: goto L_088B010C; case 13u: goto L_088B0144; case 14u: goto L_088B0164; case 15u: goto L_088B016C; case 16u: goto L_088B0174; case 17u: goto L_088B0198; case 18u: goto L_088B019C; case 19u: goto L_088B01E4; case 20u: goto L_088B021C; case 21u: goto L_088B0248; case 22u: goto L_088B024C; case 23u: goto L_088B0268; case 24u: goto L_088B0274; case 25u: goto L_088B02B4; case 26u: goto L_088B02DC; case 27u: goto L_088B02E8; case 28u: goto L_088B02F4; case 29u: goto L_088B0330; case 30u: goto L_088B0358; case 31u: goto L_088B036C; case 32u: goto L_088B0398; case 33u: goto L_088B03A4; case 34u: goto L_088B03D0; case 35u: goto L_088B03DC; case 36u: goto L_088B040C; case 37u: goto L_088B0434; case 38u: goto L_088B0440; case 39u: goto L_088B0448; case 40u: goto L_088B0460; case 41u: goto L_088B04A0; case 42u: goto L_088B04BC; case 43u: goto L_088B04CC; case 44u: goto L_088B04DC; case 45u: goto L_088B04E8; case 46u: goto L_088B0504; case 47u: goto L_088B0534; case 48u: goto L_088B0548; case 49u: goto L_088B059C; case 50u: goto L_088B05BC; case 51u: goto L_088B05D4; case 52u: goto L_088B05E0; case 53u: goto L_088B05FC; case 54u: goto L_088B0608; case 55u: goto L_088B06E8; case 56u: goto L_088B06F4; case 57u: goto L_088B06FC; case 58u: goto L_088B0710; case 59u: goto L_088B0724; case 60u: goto L_088B072C; case 61u: goto L_088B0734; case 62u: goto L_088B0744; case 63u: goto L_088B076C; case 64u: goto L_088B0778; case 65u: goto L_088B07A8; case 66u: goto L_088B07D0; case 67u: goto L_088B07DC; case 68u: goto L_088B07E8; case 69u: goto L_088B0818; case 70u: goto L_088B083C; case 71u: goto L_088B0858; case 72u: goto L_088B0860; case 73u: goto L_088B086C; case 74u: goto L_088B0894; case 75u: goto L_088B08AC; case 76u: goto L_088B0908; case 77u: goto L_088B0934; case 78u: goto L_088B0940; case 79u: goto L_088B094C; case 80u: goto L_088B0954; case 81u: goto L_088B0960; case 82u: goto L_088B0A1C; case 83u: goto L_088B0A4C; case 84u: goto L_088B0A84; case 85u: goto L_088B0AAC; case 86u: goto L_088B0AC8; case 87u: goto L_088B0AD4; case 88u: goto L_088B0ADC; case 89u: goto L_088B0AE4; case 90u: goto L_088B0AF0; case 91u: goto L_088B0B28; case 92u: goto L_088B0B30; case 93u: goto L_088B0B3C; case 94u: goto L_088B0B44; case 95u: goto L_088B0B4C; case 96u: goto L_088B0B68; case 97u: goto L_088B0B70; case 98u: goto L_088B0B8C; case 99u: goto L_088B0B94; case 100u: goto L_088B0B98; case 101u: goto L_088B0BA0; case 102u: goto L_088B0BA8; case 103u: goto L_088B0BD0; case 104u: goto L_088B0C00; case 105u: goto L_088B0C08; case 106u: goto L_088B0C10; case 107u: goto L_088B0C18; case 108u: goto L_088B0C24; case 109u: goto L_088B0C2C; case 110u: goto L_088B0C38; case 111u: goto L_088B0C48; case 112u: goto L_088B0C50; case 113u: goto L_088B0C58; case 114u: goto L_088B0C64; case 115u: goto L_088B0C74; case 116u: goto L_088B0C7C; case 117u: goto L_088B0C8C; case 118u: goto L_088B0C9C; case 119u: goto L_088B0CB4; case 120u: goto L_088B0CC0; case 121u: goto L_088B0CF0; case 122u: goto L_088B0CFC; case 123u: goto L_088B0D10; case 124u: goto L_088B0D2C; case 125u: goto L_088B0D38; case 126u: goto L_088B0D3C; case 127u: goto L_088B0D44; case 128u: goto L_088B0D58; case 129u: goto L_088B0D60; case 130u: goto L_088B0D68; case 131u: goto L_088B0D70; case 132u: goto L_088B0D90; case 133u: goto L_088B0DC4; case 134u: goto L_088B0DCC; case 135u: goto L_088B0DD4; case 136u: goto L_088B0E00; case 137u: goto L_088B0E2C; case 138u: goto L_088B0E34; case 139u: goto L_088B0E70; case 140u: goto L_088B0E7C; case 141u: goto L_088B0EAC; case 142u: goto L_088B0EB8; case 143u: goto L_088B0ECC; case 144u: goto L_088B0ED4; case 145u: goto L_088B0EE0; case 146u: goto L_088B0F14; case 147u: goto L_088B0F44; case 148u: goto L_088B0F70; case 149u: goto L_088B0F7C; case 150u: goto L_088B0F88; case 151u: goto L_088B0F90; case 152u: goto L_088B0FA4; case 153u: goto L_088B0FD4; case 154u: goto L_088B0FDC; case 155u: goto L_088B0FFC; case 156u: goto L_088B1008; case 157u: goto L_088B1014; case 158u: goto L_088B101C; case 159u: goto L_088B1028; case 160u: goto L_088B10AC; case 161u: goto L_088B10B0; case 162u: goto L_088B10C8; case 163u: goto L_088B10DC; case 164u: goto L_088B11D4; case 165u: goto L_088B11D8; case 166u: goto L_088B11E0; case 167u: goto L_088B1200; case 168u: goto L_088B1218; case 169u: goto L_088B1234; case 170u: goto L_088B124C; case 171u: goto L_088B1268; case 172u: goto L_088B1270; case 173u: goto L_088B1278; case 174u: goto L_088B1280; case 175u: goto L_088B1294; case 176u: goto L_088B129C; case 177u: goto L_088B12A0; case 178u: goto L_088B12A8; case 179u: goto L_088B13C0; case 180u: goto L_088B13EC; case 181u: goto L_088B13F4; case 182u: goto L_088B13FC; case 183u: goto L_088B1410; case 184u: goto L_088B1418; case 185u: goto L_088B141C; case 186u: goto L_088B1424; case 187u: goto L_088B1474; case 188u: goto L_088B1494; case 189u: goto L_088B149C; case 190u: goto L_088B14CC; case 191u: goto L_088B14FC; case 192u: goto L_088B1540; case 193u: goto L_088B1548; case 194u: goto L_088B154C; case 195u: goto L_088B1554; case 196u: goto L_088B1600; case 197u: goto L_088B1624; case 198u: goto L_088B1638; case 199u: goto L_088B164C; case 200u: goto L_088B1654; case 201u: goto L_088B165C; case 202u: goto L_088B1664; case 203u: goto L_088B1778; case 204u: goto L_088B1780; case 205u: goto L_088B17B4; case 206u: goto L_088B180C; case 207u: goto L_088B1820; case 208u: goto L_088B187C; case 209u: goto L_088B18D8; case 210u: goto L_088B18EC; case 211u: goto L_088B1940; case 212u: goto L_088B1968; case 213u: goto L_088B1970; case 214u: goto L_088B1988; case 215u: goto L_088B1A04; case 216u: goto L_088B1A08; case 217u: goto L_088B1A34; case 218u: goto L_088B1A60; case 219u: goto L_088B1A68; case 220u: goto L_088B1A70; case 221u: goto L_088B1A88; case 222u: goto L_088B1A8C; case 223u: goto L_088B1A94; case 224u: goto L_088B1A98; case 225u: goto L_088B1AB4; case 226u: goto L_088B1ADC; case 227u: goto L_088B1B18; case 228u: goto L_088B1B20; case 229u: goto L_088B1B4C; case 230u: goto L_088B1B54; case 231u: goto L_088B1B5C; case 232u: goto L_088B1B74; case 233u: goto L_088B1BB8; case 234u: goto L_088B1BC0; case 235u: goto L_088B1BC8; case 236u: goto L_088B1BD0; case 237u: goto L_088B1C2C; case 238u: goto L_088B1C40; case 239u: goto L_088B1C50; case 240u: goto L_088B1CA0; case 241u: goto L_088B1CC0; case 242u: goto L_088B1CD8; case 243u: goto L_088B1CE0; case 244u: goto L_088B1CE8; case 245u: goto L_088B1D08; case 246u: goto L_088B1D28; case 247u: goto L_088B1D40; case 248u: goto L_088B1D48; case 249u: goto L_088B1D50; case 250u: goto L_088B1D70; case 251u: goto L_088B1D90; case 252u: goto L_088B1DA8; case 253u: goto L_088B1DB0; case 254u: goto L_088B1DB8; case 255u: goto L_088B1DE8; case 256u: goto L_088B1E00; case 257u: goto L_088B1E30; case 258u: goto L_088B1E60; case 259u: goto L_088B1E78; case 260u: goto L_088B1E98; case 261u: goto L_088B1EB8; case 262u: goto L_088B1ED0; case 263u: goto L_088B1ED8; case 264u: goto L_088B1EE0; case 265u: goto L_088B1F10; case 266u: goto L_088B1F28; case 267u: goto L_088B1F58; case 268u: goto L_088B1F88; case 269u: goto L_088B1FA8; case 270u: goto L_088B1FC8; case 271u: goto L_088B1FE0; case 272u: goto L_088B1FE8; case 273u: goto L_088B1FF0; case 274u: goto L_088B2020; case 275u: goto L_088B2038; case 276u: goto L_088B2068; case 277u: goto L_088B2098; case 278u: goto L_088B20B0; case 279u: goto L_088B20D0; case 280u: goto L_088B20F0; case 281u: goto L_088B2108; case 282u: goto L_088B2110; case 283u: goto L_088B2118; case 284u: goto L_088B2138; case 285u: goto L_088B2158; case 286u: goto L_088B2170; case 287u: goto L_088B2178; case 288u: goto L_088B2180; case 289u: goto L_088B21B0; case 290u: goto L_088B21C8; case 291u: goto L_088B21F8; case 292u: goto L_088B2228; case 293u: goto L_088B2240; case 294u: goto L_088B2260; case 295u: goto L_088B2280; case 296u: goto L_088B2298; case 297u: goto L_088B22A0; case 298u: goto L_088B22A8; case 299u: goto L_088B22D8; case 300u: goto L_088B22F0; case 301u: goto L_088B2320; case 302u: goto L_088B2350; case 303u: goto L_088B2370; case 304u: goto L_088B2390; case 305u: goto L_088B23A8; case 306u: goto L_088B23B0; case 307u: goto L_088B23B8; case 308u: goto L_088B23E8; case 309u: goto L_088B2400; case 310u: goto L_088B2430; case 311u: goto L_088B2460; case 312u: goto L_088B2480; case 313u: goto L_088B24A0; case 314u: goto L_088B24B8; case 315u: goto L_088B24C0; case 316u: goto L_088B24C8; case 317u: goto L_088B24E8; case 318u: goto L_088B2508; case 319u: goto L_088B2520; case 320u: goto L_088B2528; case 321u: goto L_088B2530; case 322u: goto L_088B2560; case 323u: goto L_088B2578; case 324u: goto L_088B25A8; case 325u: goto L_088B25D8; case 326u: goto L_088B25F0; case 327u: goto L_088B2610; case 328u: goto L_088B2630; case 329u: goto L_088B2648; case 330u: goto L_088B2650; case 331u: goto L_088B2658; case 332u: goto L_088B2688; case 333u: goto L_088B26A0; case 334u: goto L_088B26D0; case 335u: goto L_088B2700; case 336u: goto L_088B2720; case 337u: goto L_088B2740; case 338u: goto L_088B2758; case 339u: goto L_088B2760; case 340u: goto L_088B2768; case 341u: goto L_088B2798; case 342u: goto L_088B27B0; case 343u: goto L_088B27E0; case 344u: goto L_088B2864; case 345u: goto L_088B2874; case 346u: goto L_088B287C; case 347u: goto L_088B2894; case 348u: goto L_088B28A4; case 349u: goto L_088B28AC; case 350u: goto L_088B28C4; case 351u: goto L_088B28D4; case 352u: goto L_088B28DC; case 353u: goto L_088B28EC; case 354u: goto L_088B28FC; case 355u: goto L_088B2914; case 356u: goto L_088B292C; case 357u: goto L_088B2970; case 358u: goto L_088B29D8; case 359u: goto L_088B2A80; case 360u: goto L_088B2ABC; case 361u: goto L_088B2ACC; case 362u: goto L_088B2ADC; case 363u: goto L_088B2AF4; case 364u: goto L_088B2B0C; case 365u: goto L_088B2B50; case 366u: goto L_088B2BB8; case 367u: goto L_088B2C60; case 368u: goto L_088B2C9C; case 369u: goto L_088B2CB4; case 370u: goto L_088B2CCC; case 371u: goto L_088B2D10; case 372u: goto L_088B2D78; case 373u: goto L_088B2E20; case 374u: goto L_088B2E5C; case 375u: goto L_088B2E64; case 376u: goto L_088B2EB8; case 377u: goto L_088B2F78; case 378u: goto L_088B2F7C; case 379u: goto L_088B2FA8; case 380u: goto L_088B3054; case 381u: goto L_088B3058; case 382u: goto L_088B3060; case 383u: goto L_088B309C; case 384u: goto L_088B30E0; case 385u: goto L_088B30F4; case 386u: goto L_088B3108; case 387u: goto L_088B311C; case 388u: goto L_088B312C; case 389u: goto L_088B316C; case 390u: goto L_088B3194; case 391u: goto L_088B31D8; case 392u: goto L_088B31EC; case 393u: goto L_088B3200; case 394u: goto L_088B3214; case 395u: goto L_088B3224; case 396u: goto L_088B325C; case 397u: goto L_088B3284; case 398u: goto L_088B32C8; case 399u: goto L_088B32DC; case 400u: goto L_088B32F0; case 401u: goto L_088B3304; case 402u: goto L_088B3314; case 403u: goto L_088B3354; case 404u: goto L_088B337C; case 405u: goto L_088B33C0; case 406u: goto L_088B33D4; case 407u: goto L_088B33E8; case 408u: goto L_088B33FC; case 409u: goto L_088B340C; case 410u: goto L_088B3444; case 411u: goto L_088B346C; case 412u: goto L_088B34B0; case 413u: goto L_088B34C4; case 414u: goto L_088B34D8; case 415u: goto L_088B34EC; case 416u: goto L_088B34FC; case 417u: goto L_088B353C; case 418u: goto L_088B3564; case 419u: goto L_088B35A8; case 420u: goto L_088B35BC; case 421u: goto L_088B35D0; case 422u: goto L_088B35E4; case 423u: goto L_088B35F4; case 424u: goto L_088B362C; case 425u: goto L_088B3640; case 426u: goto L_088B36C4; case 427u: goto L_088B36C8; case 428u: goto L_088B36D0; case 429u: goto L_088B3774; case 430u: goto L_088B377C; case 431u: goto L_088B3784; case 432u: goto L_088B378C; case 433u: goto L_088B37E8; case 434u: goto L_088B37F0; case 435u: goto L_088B3800; case 436u: goto L_088B3850; case 437u: goto L_088B3858; case 438u: goto L_088B38AC; case 439u: goto L_088B38B4; case 440u: goto L_088B38FC; case 441u: goto L_088B390C; case 442u: goto L_088B3914; case 443u: goto L_088B3928; case 444u: goto L_088B3930; case 445u: goto L_088B3938; case 446u: goto L_088B394C; case 447u: goto L_088B3954; case 448u: goto L_088B39A8; case 449u: goto L_088B39B0; case 450u: goto L_088B39F8; case 451u: goto L_088B3A08; case 452u: goto L_088B3A10; case 453u: goto L_088B3A24; case 454u: goto L_088B3A2C; case 455u: goto L_088B3A34; case 456u: goto L_088B3A40; case 457u: goto L_088B3A50; case 458u: goto L_088B3A64; case 459u: goto L_088B3A94; case 460u: goto L_088B3A9C; case 461u: goto L_088B3AB0; case 462u: goto L_088B3AB8; case 463u: goto L_088B3B0C; case 464u: goto L_088B3B14; case 465u: goto L_088B3B5C; case 466u: goto L_088B3B70; case 467u: goto L_088B3B78; case 468u: goto L_088B3B8C; case 469u: goto L_088B3B94; case 470u: goto L_088B3B9C; case 471u: goto L_088B3BB0; case 472u: goto L_088B3BB8; case 473u: goto L_088B3BCC; case 474u: goto L_088B3BD4; case 475u: goto L_088B3C28; case 476u: goto L_088B3C30; case 477u: goto L_088B3C78; case 478u: goto L_088B3C8C; case 479u: goto L_088B3C94; case 480u: goto L_088B3CA8; case 481u: goto L_088B3CB0; case 482u: goto L_088B3CB8; case 483u: goto L_088B3CBC; case 484u: goto L_088B3CEC; case 485u: goto L_088B3D54; case 486u: goto L_088B3D5C; case 487u: goto L_088B3D78; case 488u: goto L_088B3D84; case 489u: goto L_088B3DA0; case 490u: goto L_088B3DAC; case 491u: goto L_088B3DC8; case 492u: goto L_088B3DD4; case 493u: goto L_088B3DDC; case 494u: goto L_088B3E30; case 495u: goto L_088B3E38; case 496u: goto L_088B3E80; case 497u: goto L_088B3E98; case 498u: goto L_088B3EAC; case 499u: goto L_088B3EC0; case 500u: goto L_088B3EC8; case 501u: goto L_088B3F1C; case 502u: goto L_088B3F24; case 503u: goto L_088B3F6C; case 504u: goto L_088B3F84; case 505u: goto L_088B3F98; case 506u: goto L_088B3FA4; case 507u: goto L_088B3FB4; case 508u: goto L_088B3FC8; case 509u: goto L_088B3FCC; case 510u: goto L_088B3FFC; 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_088B0000: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(420), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(368))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(428), std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(372))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(376))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(444), std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(388))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(448), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(392))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(464), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), std::bit_cast(ctx.fpr[26])); ctx.gpr[16] = (aot_gpr_29 + static_cast(416)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(472), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(476), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088B0064u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0064u) goto L_088B0064; AOT_REGCACHE_SYNC_OUT(); return; L_088B0064: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088B0070u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0070u) goto L_088B0070; AOT_REGCACHE_SYNC_OUT(); return; L_088B0070: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(488))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088B0094; } goto L_088B0080; } L_088B0080: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088B0094; } goto L_088B008C; } L_088B008C: aot_gpr_31 = (0x088B0094u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); 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 == 0x088B0094u) goto L_088B0094; AOT_REGCACHE_SYNC_OUT(); return; L_088B0094: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); goto L_088B0098; L_088B0098: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); { const bool branch_taken = ctx.gpr[21] == ctx.gpr[23]; aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088B016C; } goto L_088B00B0; } L_088B00B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; 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 = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(108), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088B016C; } goto L_088B00C8; } L_088B00C8: { const bool branch_taken = ctx.gpr[21] != ctx.gpr[20]; if (branch_taken) { goto L_088B016C; } goto L_088B00D0; } L_088B00D0: aot_gpr_4 = (16704u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_088B0164; } goto L_088B00EC; } L_088B00EC: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = ctx.fpr[20] + aot_fpr_13; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(742))); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); if (branch_taken) { goto L_088B0144; } goto L_088B010C; } L_088B010C: aot_fpr_12 = aot_fpr_12 - ctx.fpr[30]; aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16688u << 16u); ctx.fpr[15] = 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 = aot_fpr_12 / ctx.fpr[15]; aot_fpr_12 = aot_fpr_13 - aot_fpr_12; { 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(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088B016C; } goto L_088B0144; } L_088B0144: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { 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(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088B016C; } goto L_088B0164; } L_088B0164: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(742))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_4)); goto L_088B016C; L_088B016C: aot_gpr_31 = (0x088B0174u); aot_gpr_4 = (ctx.gpr[19] | 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 == 0x088B0174u) goto L_088B0174; AOT_REGCACHE_SYNC_OUT(); return; L_088B0174: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(748))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); goto L_088B0198; L_088B0198: aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_088B019C; L_088B019C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(752))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(760))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(764))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(772))); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(776))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(780))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(784))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(788))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(792))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(796))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(800))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(804))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(808))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(812))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(816)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B01E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24904))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088B04DC; } goto L_088B021C; } L_088B021C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24785))); ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 ^ 1u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24785), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_5 = (16928u << 16u); aot_gpr_6 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; ctx.fpr[20] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_088B036C; } goto L_088B0248; } L_088B0248: ctx.gpr[16] = (aot_gpr_29 + static_cast(4)); goto L_088B024C; L_088B024C: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24785))); aot_gpr_4 = (0u | 8u); aot_gpr_5 = (aot_gpr_5 ^ 1u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24785), static_cast(aot_gpr_5)); aot_gpr_31 = (0x088B0268u); aot_gpr_5 = (0u | 5u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0268u) goto L_088B0268; AOT_REGCACHE_SYNC_OUT(); return; L_088B0268: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x088B0274u); aot_gpr_5 = (0u | 6u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0274u) goto L_088B0274; AOT_REGCACHE_SYNC_OUT(); return; L_088B0274: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24785))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + static_cast(2)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (0u | 200u); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (0u | 200u); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.gpr[7] = (0u | 200u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x088B02B4u); ctx.gpr[8] = (0u | 30u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02B4u) goto L_088B02B4; AOT_REGCACHE_SYNC_OUT(); return; L_088B02B4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088B02DCu); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02DCu) goto L_088B02DC; AOT_REGCACHE_SYNC_OUT(); return; L_088B02DC: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x088B02E8u); aot_gpr_5 = (0u | 5u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02E8u) goto L_088B02E8; AOT_REGCACHE_SYNC_OUT(); return; L_088B02E8: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x088B02F4u); aot_gpr_5 = (0u | 6u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02F4u) goto L_088B02F4; AOT_REGCACHE_SYNC_OUT(); return; L_088B02F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_4 = (ctx.gpr[17] + static_cast(2)); aot_gpr_6 = (ctx.gpr[17] + static_cast(3)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (0u | 0u); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (0u | 0u); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.gpr[7] = (0u | 0u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x088B0330u); ctx.gpr[8] = (0u | 30u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0330u) goto L_088B0330; AOT_REGCACHE_SYNC_OUT(); return; L_088B0330: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088B0358u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0358u) goto L_088B0358; AOT_REGCACHE_SYNC_OUT(); return; L_088B0358: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; if (branch_taken) { goto L_088B024C; } goto L_088B036C; } L_088B036C: 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 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (14848u << 16u); aot_gpr_4 = (aot_gpr_4 & 2047u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_14 = aot_fpr_12 + ctx.fpr[20]; aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; { 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; } if (branch_taken) { goto L_088B03A4; } goto L_088B0398; } L_088B0398: aot_gpr_4 = (20352u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; goto L_088B03A4; L_088B03A4: { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 8u); aot_gpr_5 = (0u | 5u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_13 = aot_fpr_14 - ctx.fpr[20]; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_31 = (0x088B03D0u); ctx.gpr[16] = (std::bit_cast(aot_fpr_13)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B03D0u) goto L_088B03D0; AOT_REGCACHE_SYNC_OUT(); return; L_088B03D0: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x088B03DCu); aot_gpr_5 = (0u | 6u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B03DCu) goto L_088B03DC; AOT_REGCACHE_SYNC_OUT(); return; L_088B03DC: aot_fpr_12 = std::bit_cast(ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_6 = (0u | 100u); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[20] = ctx.fpr[24] + ctx.fpr[20]; aot_gpr_31 = (0x088B040Cu); ctx.gpr[8] = (0u | 60u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B040Cu) goto L_088B040C; AOT_REGCACHE_SYNC_OUT(); return; L_088B040C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088B0434u); ctx.fpr[19] = 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_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0434u) goto L_088B0434; AOT_REGCACHE_SYNC_OUT(); return; L_088B0434: ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(8)); ctx.gpr[16] = (aot_gpr_29 + static_cast(24)); goto L_088B0440; L_088B0440: aot_gpr_31 = (0x088B0448u); 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, aot_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 == 0x088B0448u) goto L_088B0448; AOT_REGCACHE_SYNC_OUT(); return; L_088B0448: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_5 = (aot_gpr_2 & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_4); 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[19] = (ctx.hi); aot_gpr_31 = (0x088B0460u); 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, aot_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 == 0x088B0460u) goto L_088B0460; AOT_REGCACHE_SYNC_OUT(); return; L_088B0460: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_5 = (aot_gpr_2 & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_12 = std::bit_cast(ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[19] + static_cast(10)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_5 = (ctx.hi); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.fpr[15] = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088B04A0u); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04A0u) goto L_088B04A0; AOT_REGCACHE_SYNC_OUT(); return; L_088B04A0: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088B04BCu); ctx.gpr[8] = (0u | 10u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04BCu) goto L_088B04BC; AOT_REGCACHE_SYNC_OUT(); return; L_088B04BC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088B04CCu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04CCu) goto L_088B04CC; AOT_REGCACHE_SYNC_OUT(); return; L_088B04CC: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 200 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B0440; } goto L_088B04DC; } L_088B04DC: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24920))); { const bool branch_taken = aot_gpr_6 == 0u; if (branch_taken) { goto L_088B06E8; } goto L_088B04E8; } L_088B04E8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24916))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24912))); ctx.gpr[8] = (ctx.gpr[7] - aot_gpr_4); ctx.gpr[8] = (aot_gpr_5 < ctx.gpr[8] ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; if (branch_taken) { goto L_088B05BC; } goto L_088B0504; } L_088B0504: ctx.gpr[7] = (0u | 12288u); { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(aot_gpr_6); 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[7] = (0u | 24576u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24916), aot_gpr_4); ctx.gpr[18] = (ctx.lo); { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(aot_gpr_6); 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[17] = (ctx.lo); aot_gpr_31 = (0x088B0534u); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); 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, aot_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 == 0x088B0534u) goto L_088B0534; AOT_REGCACHE_SYNC_OUT(); return; L_088B0534: aot_gpr_6 = (ctx.gpr[17] - ctx.gpr[18]); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088B0548u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); 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, aot_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 == 0x088B0548u) goto L_088B0548; AOT_REGCACHE_SYNC_OUT(); return; L_088B0548: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (ctx.gpr[18] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24920))); ctx.gpr[7] = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_6 | 0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24912), aot_gpr_4); aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[19]); aot_gpr_4 = (15948u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_31 = (0x088B059Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_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 == 0x088B059Cu) goto L_088B059C; AOT_REGCACHE_SYNC_OUT(); return; L_088B059C: aot_fpr_14 = ctx.fpr[20] - ctx.fpr[22]; ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24920))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24916))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24912))); aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24908), std::bit_cast(aot_fpr_12)); goto L_088B05BC; L_088B05BC: ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_4); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24908))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const bool branch_taken = static_cast(ctx.gpr[7]) >= 0; aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24896))); if (branch_taken) { goto L_088B05E0; } goto L_088B05D4; } L_088B05D4: ctx.gpr[7] = (20352u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_fpr_13 = aot_fpr_13 + aot_fpr_12; goto L_088B05E0; L_088B05E0: ctx.gpr[7] = (16585u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.gpr[7] = (ctx.gpr[7] | 4059u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fpr[15] = std::bit_cast(ctx.gpr[7]); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } if (branch_taken) { goto L_088B0608; } goto L_088B05FC; } L_088B05FC: aot_gpr_5 = (20352u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; goto L_088B0608; L_088B0608: aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24928), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); { const float vfpu_constant = std::bit_cast(0x3F22F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[15] = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24924), std::bit_cast(ctx.fpr[15])); aot_gpr_5 = (16179u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7672), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_6 << 3u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); ctx.gpr[7] = (0u | 255u); aot_gpr_5 = (ctx.gpr[7] - aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_16 = std::bit_cast(aot_gpr_6); aot_fpr_16 = static_cast(static_cast(std::bit_cast(aot_fpr_16))); { const float fs = aot_fpr_13; const float ft = aot_fpr_16; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (16672u << 16u); ctx.fpr[17] = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_13; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[18] = aot_fpr_12 + aot_fpr_13; ctx.fpr[18] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[18])); aot_gpr_5 = (std::bit_cast(ctx.fpr[18])); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[8] = (std::bit_cast(aot_fpr_12)); ctx.gpr[9] = (aot_gpr_6 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[9]); aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[9] = (2236u << 16u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(32304)); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(2856), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(2864), ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(2860), ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(2896), aot_gpr_6); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (16656u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24932), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B06F4; } goto L_088B06E8; } L_088B06E8: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24896))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24932), std::bit_cast(aot_fpr_12)); goto L_088B06F4; L_088B06F4: { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088B07E8; } goto L_088B06FC; } L_088B06FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24900))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_4 < static_cast(21) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24900), aot_gpr_4); if (branch_taken) { goto L_088B0734; } goto L_088B0710; } L_088B0710: aot_gpr_4 = (16256u << 16u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24896), static_cast(0u)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088B0724u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7672), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0724u) goto L_088B0724; AOT_REGCACHE_SYNC_OUT(); return; L_088B0724: aot_gpr_31 = (0x088B072Cu); aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 261u, 0x088E29C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B072Cu) goto L_088B072C; AOT_REGCACHE_SYNC_OUT(); return; L_088B072C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B07E8; } goto L_088B0734; } L_088B0734: ctx.fpr[22] = std::bit_cast(0u); aot_gpr_5 = (aot_gpr_4 < static_cast(10) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7672), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_088B07E8; } goto L_088B0744; } L_088B0744: aot_gpr_5 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_5 = (0u | 10u); { 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_6 = (0u | 255u); aot_gpr_4 = (0u | 8u); aot_gpr_5 = (0u | 2u); ctx.gpr[7] = (ctx.lo); aot_gpr_31 = (0x088B076Cu); ctx.gpr[16] = (aot_gpr_6 - ctx.gpr[7]); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B076Cu) goto L_088B076C; AOT_REGCACHE_SYNC_OUT(); return; L_088B076C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x088B0778u); aot_gpr_5 = (0u | 2u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0778u) goto L_088B0778; AOT_REGCACHE_SYNC_OUT(); return; L_088B0778: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (ctx.gpr[16] & 255u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_29 + static_cast(28)); ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (aot_gpr_5 | 0u); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088B07A8u); ctx.gpr[8] = (aot_gpr_5 | 0u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07A8u) goto L_088B07A8; AOT_REGCACHE_SYNC_OUT(); return; L_088B07A8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x088B07D0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07D0u) goto L_088B07D0; AOT_REGCACHE_SYNC_OUT(); return; L_088B07D0: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x088B07DCu); aot_gpr_5 = (0u | 5u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07DCu) goto L_088B07DC; AOT_REGCACHE_SYNC_OUT(); return; L_088B07DC: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x088B07E8u); aot_gpr_5 = (0u | 6u); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07E8u) goto L_088B07E8; AOT_REGCACHE_SYNC_OUT(); return; L_088B07E8: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B0818: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (2246u << 16u); ctx.gpr[7] = (2187u << 16u); aot_gpr_5 = (0u | 4u); aot_gpr_6 = (0u | 128u); aot_gpr_4 = (aot_gpr_4 + static_cast(5232)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x088B083Cu); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-21256)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B083Cu) goto L_088B083C; AOT_REGCACHE_SYNC_OUT(); return; L_088B083C: aot_gpr_4 = (2246u << 16u); ctx.gpr[7] = (2187u << 16u); aot_gpr_5 = (0u | 32u); aot_gpr_6 = (0u | 144u); aot_gpr_4 = (aot_gpr_4 + static_cast(11888)); aot_gpr_31 = (0x088B0858u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-18968)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0858u) goto L_088B0858; AOT_REGCACHE_SYNC_OUT(); return; L_088B0858: aot_gpr_31 = (0x088B0860u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24784)); if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0860u) goto L_088B0860; AOT_REGCACHE_SYNC_OUT(); return; L_088B0860: 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_088B086C: { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); { 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); } 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_088B0894: { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { 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); } 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_088B08AC: 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(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[23]); aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[16] = (ctx.gpr[8] | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[25] = (ctx.gpr[7] | 0u); ctx.gpr[15] = (aot_gpr_31 | 0u); ctx.gpr[22] = (0u + static_cast(0)); aot_gpr_6 = (ctx.gpr[9] | 0u); aot_gpr_5 = (ctx.gpr[10] | 0u); ctx.gpr[23] = (ctx.gpr[11] | 0u); ctx.gpr[7] = (aot_gpr_2 | 0u); ctx.gpr[3] = (ctx.gpr[3] | 0u); { const bool branch_taken = ctx.gpr[18] == ctx.gpr[19]; ctx.gpr[24] = (0u | 0u); if (branch_taken) { goto L_088B094C; } goto L_088B0908; } L_088B0908: { 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<2u, 4u>(vfpu_value); } ctx.gpr[18] = (ctx.gpr[18] + static_cast(16)); ctx.execute_vfpu_vx2i_ct<0u, 2u, 2u, 3u>(); ctx.execute_vfpu_vx2i_ct<1u, 66u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<0u, 0u, 3u, 23u>(); ctx.execute_vfpu_vi2f_ct<1u, 1u, 3u, 23u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 55u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<1u, 1u, 55u, 3u, 0u>(); ctx.execute_vfpu_vcmp_ct<20u, 0u, 3u, 2u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B0BA0; } goto L_088B0934; } L_088B0934: ctx.execute_vfpu_vcmp_ct<20u, 1u, 3u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B0BA0; } goto L_088B0940; } L_088B0940: ctx.gpr[24] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(-10))); ctx.gpr[25] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(-2))); ctx.gpr[25] = (ctx.gpr[25] + static_cast(1)); goto L_088B094C; L_088B094C: { const bool branch_taken = ctx.gpr[24] == ctx.gpr[25]; ctx.gpr[24] = (ctx.gpr[24] << 3u); if (branch_taken) { goto L_088B0BA0; } goto L_088B0954; } L_088B0954: ctx.gpr[25] = (ctx.gpr[25] << 3u); if (!([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_ok_ = ctx.execute_signed_add(24u, 24u, 17u); AOT_REGCACHE_SYNC_IN(); return aot_regcache_ok_; }())) { rt.arithmetic_overflow(0x088B0958u, 0x0311C020u); AOT_REGCACHE_SYNC_OUT(); return; } if (!([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_ok_ = ctx.execute_signed_add(25u, 25u, 17u); AOT_REGCACHE_SYNC_IN(); return aot_regcache_ok_; }())) { rt.arithmetic_overflow(0x088B095Cu, 0x0331C820u); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088B0960; L_088B0960: ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[24] + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[24] + static_cast(2))); ctx.gpr[10] = (aot_mem.aot_direct_load16(ctx.gpr[24] + static_cast(4))); ctx.gpr[24] = (ctx.gpr[24] + static_cast(8)); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[16]); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[16]); ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[16]); ctx.gpr[11] = (aot_mem.aot_direct_load_word_right(ctx.gpr[8] + static_cast(0), ctx.gpr[11])); ctx.gpr[11] = (aot_mem.aot_direct_load_word_left(ctx.gpr[8] + static_cast(3), ctx.gpr[11])); ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(4))); ctx.gpr[12] = (aot_mem.aot_direct_load_word_right(ctx.gpr[9] + static_cast(0), ctx.gpr[12])); ctx.gpr[12] = (aot_mem.aot_direct_load_word_left(ctx.gpr[9] + static_cast(3), ctx.gpr[12])); ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(4))); ctx.gpr[13] = (aot_mem.aot_direct_load_word_right(ctx.gpr[10] + static_cast(0), ctx.gpr[13])); ctx.gpr[13] = (aot_mem.aot_direct_load_word_left(ctx.gpr[10] + static_cast(3), ctx.gpr[13])); ctx.gpr[10] = (aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<8u>(ctx.gpr[11]); ctx.set_vfpu_scalar_bits_ct<40u>(ctx.gpr[8]); ctx.set_vfpu_scalar_bits_ct<9u>(ctx.gpr[12]); ctx.set_vfpu_scalar_bits_ct<41u>(ctx.gpr[9]); ctx.set_vfpu_scalar_bits_ct<10u>(ctx.gpr[13]); ctx.set_vfpu_scalar_bits_ct<42u>(ctx.gpr[10]); ctx.execute_vfpu_vx2i_ct<4u, 8u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<4u, 4u, 4u, 23u>(); ctx.execute_vfpu_vx2i_ct<5u, 9u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<5u, 5u, 4u, 23u>(); ctx.execute_vfpu_vx2i_ct<6u, 10u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<6u, 6u, 4u, 23u>(); ctx.execute_vfpu_horizontal_ct<8u, 36u, 3u, true>(); ctx.execute_vfpu_horizontal_ct<40u, 37u, 3u, true>(); ctx.execute_vfpu_horizontal_ct<72u, 38u, 3u, true>(); ctx.execute_vfpu_vec3_ct<12u, 4u, 8u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<13u, 5u, 8u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<14u, 6u, 8u, 3u, 1u>(); ctx.execute_vfpu_vdot_ct<15u, 12u, 12u, 3u>(); ctx.execute_vfpu_vdot_ct<47u, 13u, 13u, 3u>(); ctx.execute_vfpu_vdot_ct<79u, 14u, 14u, 3u>(); ctx.execute_vfpu_vec3_ct<12u, 20u, 8u, 3u, 1u>(); ctx.execute_vfpu_vminmax_ct<15u, 15u, 47u, 1u, true>(); ctx.execute_vfpu_vminmax_ct<15u, 15u, 79u, 1u, true>(); ctx.execute_vfpu_unary_ct<104u, 15u, 1u, 22u>(); ctx.execute_vfpu_vdot_ct<0u, 12u, 12u, 3u>(); ctx.execute_vfpu_vec3_ct<32u, 104u, 116u, 1u, 0u>(); ctx.execute_vfpu_vec3_ct<32u, 32u, 32u, 1u, 2u>(); ctx.execute_vfpu_vcmp_ct<0u, 32u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0B98; } goto L_088B0A1C; } L_088B0A1C: ctx.execute_vfpu_vec3_ct<9u, 5u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<10u, 6u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<15u, 20u, 4u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<17u, 10u, 9u, 3u>(); ctx.execute_vfpu_vdot_ct<110u, 17u, 17u, 3u>(); ctx.execute_vfpu_unary_ct<110u, 110u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<7u, 17u, 110u, 3u>(); ctx.execute_vfpu_vdot_ct<12u, 7u, 15u, 3u>(); ctx.execute_vfpu_unary_ct<12u, 12u, 1u, 1u>(); ctx.execute_vfpu_vcmp_ct<12u, 116u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0B98; } goto L_088B0A4C; } L_088B0A4C: ctx.execute_vfpu_vdot_ct<103u, 7u, 4u, 3u>(); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_value); } { float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f}; ctx.write_vfpu_vector_with_destination_prefix_ct<96u, 1u>(vfpu_value); } ctx.execute_vfpu_unary_ct<29u, 8u, 4u, 0u>(); ctx.execute_vfpu_unary_ct<30u, 20u, 4u, 0u>(); ctx.execute_vfpu_vec3_ct<9u, 5u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<8u, 4u, 5u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<10u, 6u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<11u, 6u, 5u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<19u, 9u, 10u, 3u>(); ctx.execute_vfpu_cross_quat_ct<17u, 10u, 9u, 3u>(); ctx.execute_vfpu_cross_quat_ct<15u, 11u, 8u, 3u>(); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088B0B3C; } goto L_088B0A84; } L_088B0A84: { 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.set_vfpu_scalar_bits_ct<127u>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); ctx.execute_vfpu_vec3_ct<12u, 1u, 29u, 3u, 1u>(); ctx.execute_vfpu_vdot_ct<31u, 12u, 12u, 3u>(); ctx.execute_vfpu_vec3_ct<63u, 104u, 97u, 1u, 0u>(); ctx.execute_vfpu_vec3_ct<63u, 63u, 63u, 1u, 2u>(); ctx.execute_vfpu_vcmp_ct<31u, 63u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0B28; } goto L_088B0AAC; } L_088B0AAC: ctx.execute_vfpu_vdot_ct<2u, 1u, 7u, 3u>(); ctx.execute_vfpu_vec3_ct<98u, 2u, 103u, 1u, 1u>(); ctx.execute_vfpu_unary_ct<34u, 98u, 1u, 1u>(); ctx.execute_vfpu_vec3_ct<63u, 98u, 98u, 1u, 2u>(); ctx.execute_vfpu_vcmp_ct<34u, 97u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0B28; } goto L_088B0AC8; } L_088B0AC8: ctx.execute_vfpu_vcmp_ct<63u, 127u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0B28; } goto L_088B0AD4; } L_088B0AD4: aot_gpr_31 = (0x088B0ADCu); goto L_088B0BD0; L_088B0ADC: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_088B0B28; } goto L_088B0AE4; } L_088B0AE4: ctx.execute_vfpu_vcmp_ct<120u, 127u, 1u, 6u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0B28; } goto L_088B0AF0; } L_088B0AF0: ctx.execute_vfpu_vec3_ct<27u, 1u, 24u, 3u, 1u>(); ctx.execute_vfpu_vdot_ct<120u, 27u, 27u, 3u>(); ctx.execute_vfpu_unary_ct<122u, 120u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<28u, 27u, 122u, 3u>(); ctx.gpr[12] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(-20))); ctx.gpr[13] = (aot_mem.aot_direct_load16(ctx.gpr[24] + static_cast(-18))); ctx.gpr[13] = (ctx.gpr[13] << 16u); ctx.gpr[12] = (ctx.gpr[12] + ctx.gpr[13]); ctx.set_vfpu_scalar_bits_ct<124u>(ctx.gpr[12]); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<24u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(-48); 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<28u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(-32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.execute_vfpu_unary_ct<123u, 120u, 1u, 22u>(); ctx.execute_vfpu_vec3_ct<124u, 97u, 123u, 1u, 1u>(); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-16), ctx.vfpu_scalar_bits_ct<124u>()); goto L_088B0B28; L_088B0B28: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; if (branch_taken) { goto L_088B0A84; } goto L_088B0B30; } L_088B0B30: ctx.execute_vfpu_unary_ct<20u, 30u, 4u, 0u>(); ctx.execute_vfpu_unary_ct<117u, 116u, 1u, 0u>(); ctx.execute_vfpu_unary_ct<118u, 116u, 1u, 0u>(); goto L_088B0B3C; L_088B0B3C: { const bool branch_taken = ctx.gpr[23] == ctx.gpr[7]; aot_gpr_4 = (ctx.gpr[23] | 0u); if (branch_taken) { goto L_088B0B94; } goto L_088B0B44; } L_088B0B44: { const bool branch_taken = ctx.gpr[3] == 0u; ctx.gpr[11] = (ctx.gpr[3] | 0u); if (branch_taken) { goto L_088B0B94; } goto L_088B0B4C; } L_088B0B4C: { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.set_vfpu_scalar_bits_ct<127u>(aot_mem.aot_direct_load32(ctx.gpr[11] + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); ctx.gpr[11] = (ctx.gpr[11] + static_cast(32)); aot_gpr_31 = (0x088B0B68u); goto L_088B0D44; L_088B0B68: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_088B0B8C; } goto L_088B0B70; } L_088B0B70: ctx.execute_vfpu_unary_ct<97u, 24u, 1u, 0u>(); ctx.execute_vfpu_unary_ct<28u, 7u, 3u, 0u>(); ctx.gpr[13] = (aot_mem.aot_direct_load16(ctx.gpr[24] + static_cast(-2))); ctx.gpr[13] = (ctx.gpr[13] << 16u); ctx.set_vfpu_scalar_bits_ct<124u>(ctx.gpr[13]); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(-32); 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<28u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(-16); 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_088B0B8C; L_088B0B8C: { const bool branch_taken = aot_gpr_4 != ctx.gpr[7]; if (branch_taken) { goto L_088B0B4C; } goto L_088B0B94; } L_088B0B94: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); goto L_088B0B98; L_088B0B98: { const bool branch_taken = ctx.gpr[24] != ctx.gpr[25]; if (branch_taken) { goto L_088B0960; } goto L_088B0BA0; } L_088B0BA0: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[19]; if (branch_taken) { goto L_088B0908; } goto L_088B0BA8; } L_088B0BA8: aot_gpr_2 = (ctx.gpr[22] | 0u); aot_gpr_31 = (ctx.gpr[15] | 0u); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); 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_088B0BD0: aot_gpr_2 = (0u + 0u); ctx.execute_vfpu_vec3_ct<12u, 1u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<13u, 1u, 5u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<18u, 9u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<16u, 10u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<14u, 11u, 13u, 3u>(); ctx.execute_vfpu_vdot_ct<102u, 18u, 19u, 3u>(); ctx.execute_vfpu_vdot_ct<101u, 16u, 17u, 3u>(); ctx.execute_vfpu_vdot_ct<100u, 14u, 15u, 3u>(); ctx.execute_vfpu_vcmp_ct<39u, 0u, 3u, 6u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 2u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C48; } goto L_088B0C00; } L_088B0C00: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 1u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C24; } goto L_088B0C08; } L_088B0C08: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C18; } goto L_088B0C10; } L_088B0C10: { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D3C; } goto L_088B0C18; } L_088B0C18: ctx.execute_vfpu_unary_ct<20u, 4u, 3u, 0u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C9C; } goto L_088B0C24; } L_088B0C24: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C38; } goto L_088B0C2C; } L_088B0C2C: ctx.execute_vfpu_unary_ct<20u, 5u, 3u, 0u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C9C; } goto L_088B0C38; } L_088B0C38: ctx.execute_vfpu_unary_ct<20u, 4u, 3u, 0u>(); ctx.execute_vfpu_unary_ct<21u, 5u, 3u, 0u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0CC0; } goto L_088B0C48; } L_088B0C48: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 1u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C74; } goto L_088B0C50; } L_088B0C50: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C64; } goto L_088B0C58; } L_088B0C58: ctx.execute_vfpu_unary_ct<20u, 6u, 3u, 0u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C9C; } goto L_088B0C64; } L_088B0C64: ctx.execute_vfpu_unary_ct<20u, 4u, 3u, 0u>(); ctx.execute_vfpu_unary_ct<21u, 6u, 3u, 0u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0CC0; } goto L_088B0C74; } L_088B0C74: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0C8C; } goto L_088B0C7C; } L_088B0C7C: ctx.execute_vfpu_unary_ct<20u, 5u, 3u, 0u>(); ctx.execute_vfpu_unary_ct<21u, 6u, 3u, 0u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0CC0; } goto L_088B0C8C; } L_088B0C8C: ctx.execute_vfpu_vscl_ct<25u, 7u, 98u, 3u>(); ctx.execute_vfpu_vec3_ct<24u, 1u, 25u, 3u, 1u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D38; } goto L_088B0C9C; } L_088B0C9C: ctx.execute_vfpu_vec3_ct<3u, 1u, 20u, 3u, 1u>(); ctx.execute_vfpu_vdot_ct<66u, 3u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<99u, 97u, 97u, 1u, 2u>(); ctx.execute_vfpu_vcmp_ct<66u, 99u, 1u, 3u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D3C; } goto L_088B0CB4; } L_088B0CB4: ctx.execute_vfpu_unary_ct<24u, 20u, 3u, 0u>(); { const bool branch_taken = 0u == 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D38; } goto L_088B0CC0; } L_088B0CC0: ctx.execute_vfpu_vec3_ct<3u, 1u, 20u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<22u, 21u, 20u, 3u, 1u>(); ctx.execute_vfpu_vdot_ct<116u, 22u, 22u, 3u>(); ctx.execute_vfpu_unary_ct<117u, 116u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<23u, 22u, 117u, 3u>(); ctx.execute_vfpu_vdot_ct<66u, 3u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<99u, 97u, 97u, 1u, 2u>(); ctx.execute_vfpu_vdot_ct<118u, 3u, 23u, 3u>(); ctx.execute_vfpu_unary_ct<24u, 20u, 3u, 0u>(); ctx.execute_vfpu_vcmp_ct<66u, 99u, 1u, 3u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D38; } goto L_088B0CF0; } L_088B0CF0: ctx.execute_vfpu_vcmp_ct<118u, 0u, 1u, 2u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D3C; } goto L_088B0CFC; } L_088B0CFC: ctx.execute_vfpu_vec3_ct<119u, 118u, 118u, 1u, 2u>(); ctx.execute_vfpu_vec3_ct<115u, 66u, 119u, 1u, 1u>(); ctx.execute_vfpu_vcmp_ct<115u, 99u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D3C; } goto L_088B0D10; } L_088B0D10: ctx.execute_vfpu_unary_ct<114u, 116u, 1u, 22u>(); ctx.execute_vfpu_vec3_ct<113u, 99u, 115u, 1u, 1u>(); ctx.execute_vfpu_unary_ct<112u, 113u, 1u, 22u>(); ctx.execute_vfpu_vec3_ct<121u, 118u, 112u, 1u, 1u>(); ctx.execute_vfpu_vcmp_ct<121u, 114u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0D3C; } goto L_088B0D2C; } L_088B0D2C: ctx.execute_vfpu_vminmax_ct<111u, 118u, 114u, 1u, false>(); ctx.execute_vfpu_vscl_ct<26u, 23u, 111u, 3u>(); ctx.execute_vfpu_vec3_ct<24u, 26u, 20u, 3u, 0u>(); goto L_088B0D38; L_088B0D38: aot_gpr_2 = (aot_gpr_2 + static_cast(1)); goto L_088B0D3C; L_088B0D3C: 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_088B0D44: ctx.execute_vfpu_vdot_ct<24u, 1u, 7u, 3u>(); ctx.execute_vfpu_vdot_ct<56u, 2u, 7u, 3u>(); ctx.execute_vfpu_vcmp_ct<24u, 103u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; ctx.execute_vfpu_vcmp_ct<56u, 103u, 1u, 7u>(); if (branch_taken) { goto L_088B0D68; } goto L_088B0D58; } L_088B0D58: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) == 0u; if (branch_taken) { goto L_088B0DCC; } goto L_088B0D60; } L_088B0D60: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B0D70; } goto L_088B0D68; } L_088B0D68: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0DCC; } goto L_088B0D70; } L_088B0D70: ctx.execute_vfpu_vec3_ct<3u, 2u, 1u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<24u, 103u, 24u, 1u, 1u>(); ctx.execute_vfpu_vdot_ct<56u, 3u, 7u, 3u>(); ctx.execute_vfpu_unary_ct<56u, 56u, 1u, 16u>(); ctx.execute_vfpu_vec3_ct<24u, 24u, 56u, 1u, 2u>(); ctx.execute_vfpu_vcmp_ct<24u, 127u, 1u, 6u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B0DCC; } goto L_088B0D90; } L_088B0D90: ctx.execute_vfpu_vscl_ct<8u, 3u, 24u, 3u>(); ctx.execute_vfpu_vec3_ct<1u, 8u, 1u, 3u, 0u>(); ctx.execute_vfpu_vec3_ct<12u, 1u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<13u, 1u, 5u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<18u, 9u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<16u, 10u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<14u, 11u, 13u, 3u>(); ctx.execute_vfpu_vdot_ct<102u, 18u, 19u, 3u>(); ctx.execute_vfpu_vdot_ct<101u, 16u, 17u, 3u>(); ctx.execute_vfpu_vdot_ct<100u, 14u, 15u, 3u>(); ctx.execute_vfpu_vcmp_ct<39u, 0u, 3u, 6u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) == 0u; if (branch_taken) { goto L_088B0DCC; } goto L_088B0DC4; } L_088B0DC4: jump_target = aot_gpr_31; aot_gpr_2 = (0u + static_cast(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_088B0DCC: jump_target = aot_gpr_31; aot_gpr_2 = (0u + 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_088B0DD4: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); aot_gpr_5 = (2236u << 16u); ctx.gpr[9] = (aot_gpr_5 + static_cast(-28864)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(53))); aot_gpr_4 = (aot_gpr_4 << 5u); ctx.gpr[10] = (ctx.gpr[8] + aot_gpr_4); ctx.gpr[8] = (ctx.gpr[8] | 0u); ctx.gpr[9] = (ctx.gpr[9] | 0u); ctx.gpr[10] = (ctx.gpr[10] | 0u); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[10]; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B0E2C; } goto L_088B0E00; } L_088B0E00: { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] + 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<4u, 4u>(vfpu_value); } ctx.gpr[8] = (ctx.gpr[8] + static_cast(32)); ctx.execute_vfpu_vtfm_ct<1u, 44u, 0u, 3u, 3u>(); ctx.execute_vfpu_vtfm_ct<5u, 44u, 4u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 1u, 15u, 3u, 0u>(); ctx.execute_vfpu_vec3_ct<4u, 5u, 15u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<4u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = ctx.gpr[8] != ctx.gpr[10]; ctx.gpr[9] = (ctx.gpr[9] + static_cast(32)); if (branch_taken) { goto L_088B0E00; } goto L_088B0E2C; } L_088B0E2C: 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_088B0E34: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); aot_gpr_5 = (2235u << 16u); ctx.gpr[9] = (aot_gpr_5 + static_cast(28480)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); aot_gpr_4 = (aot_gpr_4 << 5u); ctx.gpr[11] = (ctx.gpr[8] + aot_gpr_4); aot_gpr_4 = (26451u << 16u); aot_gpr_4 = (aot_gpr_4 | 49692u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); ctx.gpr[8] = (ctx.gpr[8] | 0u); ctx.gpr[11] = (ctx.gpr[11] | 0u); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[11]; ctx.gpr[10] = (0u + static_cast(0)); if (branch_taken) { goto L_088B0ED4; } goto L_088B0E70; } L_088B0E70: ctx.gpr[9] = (ctx.gpr[9] | 0u); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<4u, 3u>(vfpu_value); } ctx.set_vfpu_scalar_bits_ct<100u>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_088B0E7C; L_088B0E7C: { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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.set_vfpu_scalar_bits_ct<101u>(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(16))); ctx.gpr[8] = (ctx.gpr[8] + static_cast(32)); ctx.execute_vfpu_unary_ct<97u, 96u, 1u, 0u>(); ctx.execute_vfpu_unary_ct<98u, 96u, 1u, 0u>(); ctx.execute_vfpu_vtfm_ct<1u, 44u, 0u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 1u, 15u, 3u, 0u>(); ctx.execute_vfpu_vec3_ct<24u, 28u, 35u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<25u, 29u, 35u, 3u, 0u>(); ctx.execute_vfpu_vcmp_ct<0u, 24u, 3u, 2u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B0ECC; } goto L_088B0EAC; } L_088B0EAC: ctx.execute_vfpu_vcmp_ct<0u, 25u, 3u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B0ECC; } goto L_088B0EB8; } L_088B0EB8: { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(28), ctx.vfpu_scalar_bits_ct<100u>()); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(44), ctx.vfpu_scalar_bits_ct<101u>()); ctx.gpr[9] = (ctx.gpr[9] + static_cast(64)); ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); goto L_088B0ECC; L_088B0ECC: { const bool branch_taken = ctx.gpr[8] != ctx.gpr[11]; if (branch_taken) { goto L_088B0E7C; } goto L_088B0ED4; } L_088B0ED4: aot_gpr_2 = (ctx.gpr[10] | 0u); 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_088B0EE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); ctx.gpr[7] = (2236u << 16u); ctx.gpr[9] = (ctx.gpr[7] + static_cast(-28352)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); aot_gpr_4 = (aot_gpr_4 << 5u); ctx.gpr[12] = (ctx.gpr[8] + aot_gpr_4); ctx.gpr[8] = (ctx.gpr[8] | 0u); ctx.gpr[12] = (ctx.gpr[12] | 0u); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[12]; ctx.gpr[11] = (0u + static_cast(0)); if (branch_taken) { goto L_088B0F90; } goto L_088B0F14; } L_088B0F14: ctx.gpr[10] = (0u + static_cast(0)); ctx.gpr[9] = (ctx.gpr[9] | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(28480)); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_6 << 6u); ctx.gpr[18] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_gpr_5 + 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<30u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<31u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_value); } goto L_088B0F44; L_088B0F44: { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_unary_ct<97u, 96u, 1u, 0u>(); ctx.execute_vfpu_unary_ct<98u, 96u, 1u, 0u>(); ctx.execute_vfpu_vtfm_ct<1u, 48u, 0u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<24u, 30u, 35u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<25u, 31u, 35u, 3u, 0u>(); ctx.execute_vfpu_vec3_ct<0u, 1u, 19u, 3u, 0u>(); ctx.gpr[8] = (ctx.gpr[8] + static_cast(32)); ctx.execute_vfpu_vcmp_ct<0u, 24u, 3u, 2u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B0F88; } goto L_088B0F70; } L_088B0F70: ctx.execute_vfpu_vcmp_ct<0u, 25u, 3u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B0F88; } goto L_088B0F7C; } L_088B0F7C: aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), ctx.gpr[10]); ctx.gpr[9] = (ctx.gpr[9] + static_cast(4)); ctx.gpr[11] = (ctx.gpr[11] + static_cast(1)); goto L_088B0F88; L_088B0F88: { const bool branch_taken = ctx.gpr[8] != ctx.gpr[12]; ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); if (branch_taken) { goto L_088B0F44; } goto L_088B0F90; } L_088B0F90: aot_gpr_2 = (ctx.gpr[11] | 0u); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[18] = (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_088B0FA4: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(48))); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[12] = (ctx.gpr[8] + aot_gpr_4); aot_gpr_4 = (2236u << 16u); ctx.gpr[9] = (aot_gpr_4 + static_cast(-27840)); ctx.gpr[8] = (ctx.gpr[8] | 0u); ctx.gpr[12] = (ctx.gpr[12] | 0u); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[12]; ctx.gpr[11] = (0u + static_cast(0)); if (branch_taken) { goto L_088B101C; } goto L_088B0FD4; } L_088B0FD4: ctx.gpr[10] = (0u + static_cast(0)); ctx.gpr[9] = (ctx.gpr[9] | 0u); goto L_088B0FDC; L_088B0FDC: { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] + 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<1u, 4u>(vfpu_value); } ctx.gpr[8] = (ctx.gpr[8] + static_cast(48)); ctx.execute_vfpu_vec3_ct<0u, 0u, 55u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<1u, 1u, 55u, 3u, 0u>(); ctx.execute_vfpu_vcmp_ct<20u, 0u, 3u, 2u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B1014; } goto L_088B0FFC; } L_088B0FFC: ctx.execute_vfpu_vcmp_ct<20u, 1u, 3u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B1014; } goto L_088B1008; } L_088B1008: aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), ctx.gpr[10]); ctx.gpr[9] = (ctx.gpr[9] + static_cast(4)); ctx.gpr[11] = (ctx.gpr[11] + static_cast(1)); goto L_088B1014; L_088B1014: { const bool branch_taken = ctx.gpr[8] != ctx.gpr[12]; ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); if (branch_taken) { goto L_088B0FDC; } goto L_088B101C; } L_088B101C: aot_gpr_2 = (ctx.gpr[11] | 0u); 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_088B1028: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[8] = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + 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[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); ctx.gpr[8] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(ctx.gpr[8]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_fpr_14 = aot_fpr_14 - aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; ctx.fpr[15] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B10B0; } goto L_088B10AC; } L_088B10AC: aot_fpr_14 = std::bit_cast(0u); goto L_088B10B0; L_088B10B0: { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B11D4; } goto L_088B10C8; } L_088B10C8: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B11D4; } goto L_088B10DC; } L_088B10DC: ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[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[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[15])); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[15])); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[15])); ctx.gpr[9] = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[9]); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[9] = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[10] = (aot_gpr_29 + static_cast(64)); { const std::uint32_t vfpu_address = ctx.gpr[10] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); ctx.gpr[9] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(0))); ctx.gpr[10] = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(4))); ctx.gpr[11] = (std::bit_cast(ctx.fpr[15])); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(8))); ctx.gpr[9] = (std::bit_cast(aot_fpr_16)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[10]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[9]); ctx.gpr[9] = (aot_gpr_6 + static_cast(16)); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); ctx.gpr[10] = (std::bit_cast(ctx.fpr[17])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[11] = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); ctx.gpr[8] = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), ctx.gpr[10]); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(4), ctx.gpr[11]); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(8), ctx.gpr[8]); ctx.gpr[8] = (aot_gpr_6 + static_cast(28)); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(1), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_6 + static_cast(30)); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B11D8; } goto L_088B11D4; } L_088B11D4: aot_gpr_2 = (0u | 0u); goto L_088B11D8; L_088B11D8: jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B11E0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_14 = aot_fpr_13 + aot_fpr_12; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1278; } goto L_088B1200; } L_088B1200: aot_fpr_13 = aot_fpr_13 - aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1278; } goto L_088B1218; } L_088B1218: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_14 = aot_fpr_13 + aot_fpr_12; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1270; } goto L_088B1234; } L_088B1234: aot_fpr_13 = aot_fpr_13 - aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1270; } goto L_088B124C; } L_088B124C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_14 = aot_fpr_13 + aot_fpr_12; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1294; } goto L_088B1268; } L_088B1268: { const bool branch_taken = 0u == 0u; aot_fpr_12 = aot_fpr_13 - aot_fpr_12; if (branch_taken) { goto L_088B1280; } goto L_088B1270; } L_088B1270: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B12A0; } goto L_088B1278; } L_088B1278: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B12A0; } goto L_088B1280; } L_088B1280: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B129C; } goto L_088B1294; } L_088B1294: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B12A0; } goto L_088B129C; } L_088B129C: aot_gpr_2 = (0u | 1u); goto L_088B12A0; L_088B12A0: 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_088B12A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_6 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); ctx.gpr[7] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_16 = std::bit_cast(ctx.gpr[7]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = 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>(); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[15] = std::bit_cast(aot_gpr_6); aot_gpr_6 = (49152u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[17])); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[17])); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[17])); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = 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>()); ctx.fpr[17] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[17]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_12 = aot_fpr_12 - ctx.fpr[17]; aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_16; const float ft = aot_fpr_16; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } aot_gpr_4 = (16512u << 16u); ctx.fpr[19] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } { const float fs = ctx.fpr[18]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = aot_fpr_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_088B13F4; } goto L_088B13C0; } L_088B13C0: ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::sqrt(aot_fpr_13); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[15]) ^ 0x80000000u); aot_fpr_12 = ctx.fpr[15] - aot_fpr_13; { const float fs = aot_fpr_16; const float ft = aot_fpr_16; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_16 = std::bit_cast(0x7FC00000u); else aot_fpr_16 = fs * ft; } { const float fs = aot_fpr_16; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 / aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[17])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1410; } goto L_088B13EC; } L_088B13EC: { const bool branch_taken = 0u == 0u; aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_088B13FC; } goto L_088B13F4; } L_088B13F4: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B141C; } goto L_088B13FC; } L_088B13FC: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1418; } goto L_088B1410; } L_088B1410: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B141C; } goto L_088B1418; } L_088B1418: aot_gpr_2 = (0u | 1u); goto L_088B141C; L_088B141C: 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_088B1424: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_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>(); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[7] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B149C; } goto L_088B1474; } L_088B1474: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B14CC; } goto L_088B1494; } L_088B1494: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B14FC; } goto L_088B149C; } L_088B149C: { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[0] = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B154C; } goto L_088B14CC; } L_088B14CC: { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[0] = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B154C; } goto L_088B14FC; } L_088B14FC: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_fpr_12 = aot_fpr_13 - aot_fpr_12; ctx.fpr[15] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1548; } goto L_088B1540; } L_088B1540: { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(0u); if (branch_taken) { goto L_088B154C; } goto L_088B1548; } L_088B1548: ctx.fpr[0] = std::sqrt(aot_fpr_12); goto L_088B154C; L_088B154C: jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B1554: aot_gpr_29 = (aot_gpr_29 + static_cast(-224)); ctx.gpr[8] = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); ctx.gpr[8] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + 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[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.gpr[9] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(ctx.gpr[9]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = 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>(); ctx.gpr[9] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + 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[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[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>(); ctx.gpr[8] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(ctx.gpr[8]); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); { const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.gpr[8] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_16 = std::bit_cast(0x7FC00000u); else aot_fpr_16 = fs * ft; } { 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 = aot_fpr_16 - aot_fpr_12; ctx.fpr[17] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[17])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B165C; } goto L_088B1600; } L_088B1600: aot_fpr_12 = std::sqrt(aot_fpr_12); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = aot_fpr_12 / aot_fpr_14; ctx.fpr[15] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[15])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[8] = (16256u << 16u); if (branch_taken) { goto L_088B1654; } goto L_088B1624; } L_088B1624: aot_fpr_13 = std::bit_cast(ctx.gpr[8]); 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_088B1654; } goto L_088B1638; } L_088B1638: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1664; } goto L_088B164C; } L_088B164C: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1778; } goto L_088B1654; } L_088B1654: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1778; } goto L_088B165C; } L_088B165C: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1778; } goto L_088B1664; } L_088B1664: ctx.gpr[8] = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); ctx.gpr[8] = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[9] = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[9]); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); ctx.gpr[8] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_13)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.gpr[8] = (aot_gpr_29 + static_cast(80)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); ctx.gpr[8] = (aot_gpr_29 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + 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[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[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[8] + 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_4 + static_cast(0))); ctx.gpr[9] = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[10] = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[10]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_6 + static_cast(16)); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (std::bit_cast(aot_fpr_16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[10]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[8]); aot_gpr_4 = (aot_gpr_6 + static_cast(30)); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(29), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B1778; } goto L_088B1778; } L_088B1778: jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(224)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B1780: { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } ctx.execute_vfpu_vminmax_ct<2u, 0u, 1u, 3u, false>(); ctx.execute_vfpu_vminmax_ct<3u, 0u, 1u, 3u, true>(); ctx.execute_vfpu_compare3_ct<12u, 5u, 2u, 3u, 7u>(); ctx.execute_vfpu_compare3_ct<13u, 3u, 4u, 3u, 7u>(); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 3u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<12u, 12u, 13u, 3u, 0u>(); ctx.execute_vfpu_vcmp_ct<12u, 28u, 3u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; ctx.execute_vfpu_vec3_ct<15u, 5u, 4u, 3u, 0u>(); if (branch_taken) { goto L_088B180C; } goto L_088B17B4; } L_088B17B4: ctx.execute_vfpu_vec3_ct<14u, 0u, 1u, 3u, 0u>(); ctx.execute_vfpu_vec3_ct<8u, 5u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<12u, 1u, 0u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<9u, 15u, 14u, 3u, 1u>(); ctx.vfpu_ctrl[0u] = 0x000040C9u; ctx.vfpu_ctrl[1u] = 0x000043C6u; ctx.execute_vfpu_vdot_ct<16u, 8u, 12u, 3u>(); ctx.vfpu_ctrl[0u] = 0x000040C2u; ctx.vfpu_ctrl[1u] = 0x000043C8u; ctx.execute_vfpu_vdot_ct<48u, 8u, 12u, 3u>(); ctx.vfpu_ctrl[1u] = 0x000003E1u; ctx.execute_vfpu_vdot_ct<80u, 8u, 12u, 2u>(); ctx.vfpu_ctrl[0u] = 0x000040C9u; ctx.vfpu_ctrl[1u] = 0x000240C6u; ctx.execute_vfpu_vdot_ct<17u, 9u, 12u, 3u>(); ctx.vfpu_ctrl[0u] = 0x000040C2u; ctx.vfpu_ctrl[1u] = 0x000240C8u; ctx.execute_vfpu_vdot_ct<49u, 9u, 12u, 3u>(); ctx.vfpu_ctrl[1u] = 0x000200E1u; ctx.execute_vfpu_vdot_ct<81u, 9u, 12u, 2u>(); ctx.vfpu_ctrl[0u] = 0x000007E4u; ctx.execute_vfpu_vcmp_ct<17u, 16u, 3u, 7u>(); goto L_088B180C; L_088B180C: // vflush: architectural no-op that retains VFPU prefixes aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<131u>()); aot_gpr_2 = (aot_gpr_4 & 16u); jump_target = aot_gpr_31; aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B1820: { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<19u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<16u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<17u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<18u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + 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); } ctx.execute_vfpu_vec3_ct<2u, 0u, 19u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<3u, 1u, 19u, 3u, 1u>(); ctx.execute_vfpu_vtfm_ct<0u, 16u, 2u, 3u, 3u>(); ctx.execute_vfpu_vtfm_ct<1u, 16u, 3u, 3u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.execute_vfpu_vminmax_ct<2u, 0u, 1u, 3u, false>(); ctx.execute_vfpu_vminmax_ct<3u, 0u, 1u, 3u, true>(); ctx.execute_vfpu_compare3_ct<12u, 5u, 2u, 3u, 7u>(); ctx.execute_vfpu_compare3_ct<13u, 3u, 4u, 3u, 7u>(); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 3u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<12u, 12u, 13u, 3u, 0u>(); ctx.execute_vfpu_vcmp_ct<12u, 28u, 3u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u; if (branch_taken) { goto L_088B18D8; } goto L_088B187C; } L_088B187C: ctx.execute_vfpu_vec3_ct<15u, 5u, 4u, 3u, 0u>(); ctx.execute_vfpu_vec3_ct<14u, 0u, 1u, 3u, 0u>(); ctx.execute_vfpu_vec3_ct<8u, 5u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<12u, 1u, 0u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<9u, 15u, 14u, 3u, 1u>(); ctx.vfpu_ctrl[0u] = 0x000040C9u; ctx.vfpu_ctrl[1u] = 0x000043C6u; ctx.execute_vfpu_vdot_ct<16u, 8u, 12u, 3u>(); ctx.vfpu_ctrl[0u] = 0x000040C2u; ctx.vfpu_ctrl[1u] = 0x000043C8u; ctx.execute_vfpu_vdot_ct<48u, 8u, 12u, 3u>(); ctx.vfpu_ctrl[1u] = 0x000003E1u; ctx.execute_vfpu_vdot_ct<80u, 8u, 12u, 2u>(); ctx.vfpu_ctrl[0u] = 0x000040C9u; ctx.vfpu_ctrl[1u] = 0x000240C6u; ctx.execute_vfpu_vdot_ct<17u, 9u, 12u, 3u>(); ctx.vfpu_ctrl[0u] = 0x000040C2u; ctx.vfpu_ctrl[1u] = 0x000240C8u; ctx.execute_vfpu_vdot_ct<49u, 9u, 12u, 3u>(); ctx.vfpu_ctrl[1u] = 0x000200E1u; ctx.execute_vfpu_vdot_ct<81u, 9u, 12u, 2u>(); ctx.vfpu_ctrl[0u] = 0x000007E4u; ctx.execute_vfpu_vcmp_ct<17u, 16u, 3u, 7u>(); goto L_088B18D8; L_088B18D8: // vflush: architectural no-op that retains VFPU prefixes aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<131u>()); aot_gpr_2 = (aot_gpr_4 & 16u); jump_target = aot_gpr_31; aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B18EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); ctx.gpr[16] = (ctx.gpr[8] | 0u); ctx.gpr[17] = (ctx.gpr[7] | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[21] = (aot_gpr_4 | 0u); ctx.gpr[22] = (aot_gpr_29 + static_cast(16)); ctx.gpr[23] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088B1940u); ctx.gpr[8] = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 44u, 0x08A9061Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B1940u) goto L_088B1940; AOT_REGCACHE_SYNC_OUT(); return; L_088B1940: ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); ctx.gpr[10] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088B1968u); ctx.gpr[9] = (ctx.gpr[19] | 0u); goto L_088B1B74; L_088B1968: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_088B1A04; } goto L_088B1970; } L_088B1970: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1A04; } goto L_088B1988; } L_088B1988: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + 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[20] + 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[20] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_6); aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(6))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(30), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(31), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(29), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B1A08; } goto L_088B1A04; } L_088B1A04: aot_gpr_2 = (0u | 0u); goto L_088B1A08; L_088B1A08: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B1A34: 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(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); ctx.gpr[16] = (ctx.gpr[9] | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088B1A60u); goto L_088B18EC; L_088B1A60: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_088B1A94; } goto L_088B1A68; } L_088B1A68: { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_088B1A8C; } goto L_088B1A70; } L_088B1A70: ctx.gpr[7] = (ctx.gpr[16] + static_cast(16)); ctx.gpr[8] = (ctx.gpr[16] + static_cast(32)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088B1A88u); aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 44u, 0x08A9061Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B1A88u) goto L_088B1A88; AOT_REGCACHE_SYNC_OUT(); return; L_088B1A88: aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(48), static_cast(ctx.gpr[19])); goto L_088B1A8C; L_088B1A8C: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_088B1A98; } goto L_088B1A94; } L_088B1A94: aot_gpr_2 = (0u | 0u); goto L_088B1A98; L_088B1A98: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); 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_088B1AB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_31); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(48))); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088B1B4C; } goto L_088B1ADC; } L_088B1ADC: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (ctx.gpr[16] + static_cast(16)); ctx.gpr[7] = (ctx.gpr[16] + static_cast(32)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); ctx.gpr[9] = (aot_gpr_29 + static_cast(48)); ctx.gpr[10] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088B1B18u); ctx.gpr[8] = (ctx.gpr[18] | 0u); goto L_088B1B74; L_088B1B18: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_088B1B54; } goto L_088B1B20; } L_088B1B20: 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)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B1B5C; } goto L_088B1B4C; } L_088B1B4C: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1B5C; } goto L_088B1B54; } L_088B1B54: aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(48), static_cast(0u)); aot_gpr_2 = (0u | 0u); goto L_088B1B5C; L_088B1B5C: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); 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_088B1B74: { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<9u, 5u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<10u, 6u, 4u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<17u, 10u, 9u, 3u>(); ctx.execute_vfpu_vdot_ct<110u, 17u, 17u, 3u>(); ctx.execute_vfpu_unary_ct<110u, 110u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<7u, 17u, 110u, 3u>(); ctx.execute_vfpu_vdot_ct<103u, 7u, 4u, 3u>(); ctx.execute_vfpu_vdot_ct<24u, 1u, 7u, 3u>(); ctx.execute_vfpu_vdot_ct<56u, 2u, 7u, 3u>(); ctx.execute_vfpu_vcmp_ct<24u, 103u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; ctx.execute_vfpu_vcmp_ct<56u, 103u, 1u, 7u>(); if (branch_taken) { goto L_088B1BC8; } goto L_088B1BB8; } L_088B1BB8: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) == 0u; if (branch_taken) { goto L_088B1C40; } goto L_088B1BC0; } L_088B1BC0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B1BD0; } goto L_088B1BC8; } L_088B1BC8: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B1C40; } goto L_088B1BD0; } L_088B1BD0: ctx.execute_vfpu_vec3_ct<3u, 2u, 1u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<24u, 103u, 24u, 1u, 1u>(); ctx.execute_vfpu_vdot_ct<56u, 3u, 7u, 3u>(); ctx.execute_vfpu_unary_ct<56u, 56u, 1u, 16u>(); ctx.execute_vfpu_vec3_ct<24u, 24u, 56u, 1u, 2u>(); ctx.execute_vfpu_vscl_ct<8u, 3u, 24u, 3u>(); ctx.execute_vfpu_vec3_ct<1u, 8u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<8u, 4u, 5u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<11u, 6u, 5u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<12u, 1u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<13u, 1u, 5u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<19u, 9u, 10u, 3u>(); ctx.execute_vfpu_cross_quat_ct<15u, 11u, 8u, 3u>(); ctx.execute_vfpu_cross_quat_ct<18u, 9u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<16u, 10u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<14u, 11u, 13u, 3u>(); ctx.execute_vfpu_vdot_ct<102u, 18u, 19u, 3u>(); ctx.execute_vfpu_vdot_ct<101u, 16u, 17u, 3u>(); ctx.execute_vfpu_vdot_ct<100u, 14u, 15u, 3u>(); ctx.execute_vfpu_vcmp_ct<39u, 0u, 3u, 6u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) == 0u; if (branch_taken) { goto L_088B1C40; } goto L_088B1C2C; } L_088B1C2C: { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<7u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(0), ctx.vfpu_scalar_bits_ct<24u>()); jump_target = aot_gpr_31; aot_gpr_2 = (0u + static_cast(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_088B1C40: jump_target = aot_gpr_31; aot_gpr_2 = (0u | 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_088B1C50: aot_gpr_29 = (aot_gpr_29 + static_cast(-1008)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(960), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(968), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(972), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(976), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(984), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(988), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(992), aot_gpr_31); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088B1CE0; } goto L_088B1CA0; } L_088B1CA0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1CE0; } goto L_088B1CC0; } L_088B1CC0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1CE8; } goto L_088B1CD8; } L_088B1CD8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2098; } goto L_088B1CE0; } L_088B1CE0: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1CE8; } L_088B1CE8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1D48; } goto L_088B1D08; } L_088B1D08: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1D48; } goto L_088B1D28; } L_088B1D28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1D50; } goto L_088B1D40; } L_088B1D40: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B1E60; } goto L_088B1D48; } L_088B1D48: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1D50; } L_088B1D50: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1DB0; } goto L_088B1D70; } L_088B1D70: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1DB0; } goto L_088B1D90; } L_088B1D90: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B1DB8; } goto L_088B1DA8; } L_088B1DA8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B1DE8; } goto L_088B1DB0; } L_088B1DB0: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1DB8; } L_088B1DB8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B1DE8; } L_088B1DE8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B1E30; } goto L_088B1E00; } L_088B1E00: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B1E30; } L_088B1E30: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B1E60; } L_088B1E60: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); 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_088B1F88; } goto L_088B1E78; } L_088B1E78: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1ED8; } goto L_088B1E98; } L_088B1E98: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1ED8; } goto L_088B1EB8; } L_088B1EB8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B1EE0; } goto L_088B1ED0; } L_088B1ED0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B1F10; } goto L_088B1ED8; } L_088B1ED8: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1EE0; } L_088B1EE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B1F10; } L_088B1F10: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B1F58; } goto L_088B1F28; } L_088B1F28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B1F58; } L_088B1F58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B1F88; } L_088B1F88: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1FE8; } goto L_088B1FA8; } L_088B1FA8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B1FE8; } goto L_088B1FC8; } L_088B1FC8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B1FF0; } goto L_088B1FE0; } L_088B1FE0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2020; } goto L_088B1FE8; } L_088B1FE8: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1FF0; } L_088B1FF0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2020; } L_088B2020: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B2068; } goto L_088B2038; } L_088B2038: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(160)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2068; } L_088B2068: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2098; } L_088B2098: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); 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_088B2460; } goto L_088B20B0; } L_088B20B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2110; } goto L_088B20D0; } L_088B20D0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2110; } goto L_088B20F0; } L_088B20F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2118; } goto L_088B2108; } L_088B2108: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2228; } goto L_088B2110; } L_088B2110: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2118; } L_088B2118: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2178; } goto L_088B2138; } L_088B2138: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2178; } goto L_088B2158; } L_088B2158: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B2180; } goto L_088B2170; } L_088B2170: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B21B0; } goto L_088B2178; } L_088B2178: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2180; } L_088B2180: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(192)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B21B0; } L_088B21B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B21F8; } goto L_088B21C8; } L_088B21C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(208)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B21F8; } L_088B21F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(224)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2228; } L_088B2228: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); 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_088B2350; } goto L_088B2240; } L_088B2240: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B22A0; } goto L_088B2260; } L_088B2260: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B22A0; } goto L_088B2280; } L_088B2280: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B22A8; } goto L_088B2298; } L_088B2298: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B22D8; } goto L_088B22A0; } L_088B22A0: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B22A8; } L_088B22A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(240)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B22D8; } L_088B22D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B2320; } goto L_088B22F0; } L_088B22F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + 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); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2320; } L_088B2320: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + 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); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2350; } L_088B2350: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B23B0; } goto L_088B2370; } L_088B2370: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B23B0; } goto L_088B2390; } L_088B2390: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B23B8; } goto L_088B23A8; } L_088B23A8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B23E8; } goto L_088B23B0; } L_088B23B0: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B23B8; } L_088B23B8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B23E8; } L_088B23E8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B2430; } goto L_088B2400; } L_088B2400: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(304)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2430; } L_088B2430: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + 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 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2460; } L_088B2460: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B24C0; } goto L_088B2480; } L_088B2480: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B24C0; } goto L_088B24A0; } L_088B24A0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B24C8; } goto L_088B24B8; } L_088B24B8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B25D8; } goto L_088B24C0; } L_088B24C0: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B24C8; } L_088B24C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2528; } goto L_088B24E8; } L_088B24E8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2528; } goto L_088B2508; } L_088B2508: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B2530; } goto L_088B2520; } L_088B2520: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2560; } goto L_088B2528; } L_088B2528: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2530; } L_088B2530: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(336)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2560; } L_088B2560: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B25A8; } goto L_088B2578; } L_088B2578: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(352)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B25A8; } L_088B25A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(368), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(376), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(368)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B25D8; } L_088B25D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); 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_088B2700; } goto L_088B25F0; } L_088B25F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2650; } goto L_088B2610; } L_088B2610: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2650; } goto L_088B2630; } L_088B2630: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B2658; } goto L_088B2648; } L_088B2648: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2688; } goto L_088B2650; } L_088B2650: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2658; } L_088B2658: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(388), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(384)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2688; } L_088B2688: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B26D0; } goto L_088B26A0; } L_088B26A0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(400), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(400)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B26D0; } L_088B26D0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(420), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(416)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2700; } L_088B2700: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2760; } goto L_088B2720; } L_088B2720: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2760; } goto L_088B2740; } L_088B2740: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); 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_088B2768; } goto L_088B2758; } L_088B2758: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2798; } goto L_088B2760; } L_088B2760: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2768; } L_088B2768: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(432)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B2798; } L_088B2798: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(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_088B27E0; } goto L_088B27B0; } L_088B27B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(448), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E64; } goto L_088B27E0; } L_088B27E0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(464), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(472), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(496)); { 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 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(480)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_29 + static_cast(464)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(512)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(512))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); goto L_088B2874; } goto L_088B2864; L_088B2864: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = 0u == 0u; ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; if (branch_taken) { goto L_088B287C; } goto L_088B2874; } L_088B2874: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; goto L_088B287C; L_088B287C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(516))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); goto L_088B28A4; } goto L_088B2894; L_088B2894: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const bool branch_taken = 0u == 0u; ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; if (branch_taken) { goto L_088B28AC; } goto L_088B28A4; } L_088B28A4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; goto L_088B28AC; L_088B28AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); goto L_088B28D4; } goto L_088B28C4; L_088B28C4: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = ctx.fpr[24] - aot_fpr_12; if (branch_taken) { goto L_088B28DC; } goto L_088B28D4; } L_088B28D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fpr[24] = ctx.fpr[24] - aot_fpr_12; goto L_088B28DC; L_088B28DC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2ABC; } goto L_088B28EC; } L_088B28EC: 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_088B2ABC; } goto L_088B28FC; } L_088B28FC: { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2E5C; } goto L_088B2914; } L_088B2914: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(512))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B29D8; } goto L_088B292C; } L_088B292C: ctx.gpr[19] = (aot_gpr_29 + static_cast(528)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(552), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(544)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(560), std::bit_cast(aot_fpr_12)); ctx.fpr[22] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(564), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(568), std::bit_cast(ctx.fpr[22])); ctx.gpr[20] = (aot_gpr_29 + static_cast(560)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088B2970u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_088B0894; L_088B2970: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + 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[19] + 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[19] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_6); aot_gpr_4 = (16256u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(560), std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(564), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(568), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2A80; } goto L_088B29D8; } L_088B29D8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(592)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(608)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(576)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_5); aot_gpr_5 = (49024u << 16u); aot_fpr_16 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), std::bit_cast(aot_fpr_16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + 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_4 + 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_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), aot_gpr_4); goto L_088B2A80; L_088B2A80: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2ABC; } L_088B2ABC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[22])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2C9C; } goto L_088B2ACC; } L_088B2ACC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[24])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2C9C; } goto L_088B2ADC; } L_088B2ADC: { const float fs = ctx.fpr[22]; 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_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2E5C; } goto L_088B2AF4; } L_088B2AF4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(516))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2BB8; } goto L_088B2B0C; } L_088B2B0C: ctx.gpr[19] = (aot_gpr_29 + static_cast(624)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(640)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(656), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), std::bit_cast(ctx.fpr[20])); ctx.gpr[20] = (aot_gpr_29 + static_cast(656)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088B2B50u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_088B0894; L_088B2B50: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + 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[19] + 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[19] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(656), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (16256u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2C60; } goto L_088B2BB8; } L_088B2BB8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(688), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(692), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(696), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(708), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(712), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_29 + static_cast(688)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(704)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(672)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (49024u << 16u); aot_fpr_16 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(708), std::bit_cast(aot_fpr_16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(712), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + 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_4 + 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_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), aot_gpr_4); goto L_088B2C60; L_088B2C60: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2C9C; } L_088B2C9C: { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2E5C; } goto L_088B2CB4; } L_088B2CB4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2D78; } goto L_088B2CCC; } L_088B2CCC: ctx.gpr[19] = (aot_gpr_29 + static_cast(720)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(736), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(744), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(736)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(752), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(756), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(760), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (aot_gpr_29 + static_cast(752)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088B2D10u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_088B0894; L_088B2D10: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + 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[19] + 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[19] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(752), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(756), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (16256u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(760), std::bit_cast(ctx.fpr[15])); aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B2E20; } goto L_088B2D78; } L_088B2D78: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(784), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(788), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(792), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(800), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(804), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(808), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(784)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(800)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_gpr_5 = (aot_gpr_29 + static_cast(768)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(800), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(804), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (49024u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(808), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + 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_4 + 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_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), aot_gpr_4); goto L_088B2E20; L_088B2E20: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2E5C; } L_088B2E5C: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2E64; } L_088B2E64: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); 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[7] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B2F78; } goto L_088B2EB8; } L_088B2EB8: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_fpr_16 = std::sqrt(aot_fpr_12); aot_gpr_4 = (std::bit_cast(aot_fpr_16)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); aot_gpr_4 = (aot_gpr_29 + static_cast(816)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), aot_gpr_4); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_fpr_13 = std::sqrt(aot_fpr_12); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2F78; } L_088B2F78: aot_gpr_2 = (0u | 0u); goto L_088B2F7C; L_088B2F7C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(960))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(964))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(968))); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(972))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(976))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(980))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(984))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(988))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(992))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(1008)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B2FA8: { 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.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2))); ctx.gpr[10] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(4))); ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_5); ctx.gpr[9] = (ctx.gpr[9] + aot_gpr_5); ctx.gpr[10] = (ctx.gpr[10] + aot_gpr_5); ctx.gpr[11] = (aot_mem.aot_direct_load_word_right(ctx.gpr[8] + static_cast(0), ctx.gpr[11])); ctx.gpr[11] = (aot_mem.aot_direct_load_word_left(ctx.gpr[8] + static_cast(3), ctx.gpr[11])); ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(4))); ctx.gpr[12] = (aot_mem.aot_direct_load_word_right(ctx.gpr[9] + static_cast(0), ctx.gpr[12])); ctx.gpr[12] = (aot_mem.aot_direct_load_word_left(ctx.gpr[9] + static_cast(3), ctx.gpr[12])); ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(4))); ctx.gpr[13] = (aot_mem.aot_direct_load_word_right(ctx.gpr[10] + static_cast(0), ctx.gpr[13])); ctx.gpr[13] = (aot_mem.aot_direct_load_word_left(ctx.gpr[10] + static_cast(3), ctx.gpr[13])); ctx.gpr[10] = (aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<8u>(ctx.gpr[11]); ctx.set_vfpu_scalar_bits_ct<40u>(ctx.gpr[8]); ctx.set_vfpu_scalar_bits_ct<9u>(ctx.gpr[12]); ctx.set_vfpu_scalar_bits_ct<41u>(ctx.gpr[9]); ctx.set_vfpu_scalar_bits_ct<10u>(ctx.gpr[13]); ctx.set_vfpu_scalar_bits_ct<42u>(ctx.gpr[10]); ctx.execute_vfpu_vx2i_ct<2u, 8u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<2u, 2u, 4u, 23u>(); ctx.execute_vfpu_vx2i_ct<3u, 9u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<3u, 3u, 4u, 23u>(); ctx.execute_vfpu_vx2i_ct<4u, 10u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<4u, 4u, 4u, 23u>(); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<5u, 3u, 2u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<6u, 4u, 2u, 3u, 1u>(); ctx.execute_vfpu_vdot_ct<8u, 5u, 5u, 3u>(); ctx.execute_vfpu_vdot_ct<40u, 6u, 6u, 3u>(); ctx.execute_vfpu_vminmax_ct<98u, 8u, 40u, 1u, true>(); ctx.execute_vfpu_unary_ct<99u, 98u, 1u, 22u>(); ctx.execute_vfpu_vec3_ct<7u, 1u, 2u, 3u, 1u>(); ctx.execute_vfpu_vdot_ct<72u, 7u, 7u, 3u>(); ctx.execute_vfpu_vec3_ct<100u, 99u, 97u, 1u, 0u>(); ctx.execute_vfpu_vec3_ct<101u, 100u, 100u, 1u, 2u>(); aot_gpr_2 = (0u | 0u); ctx.execute_vfpu_vcmp_ct<72u, 101u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes if (branch_taken) { goto L_088B3058; } goto L_088B3054; } L_088B3054: aot_gpr_2 = (aot_gpr_2 + static_cast(1)); goto L_088B3058; L_088B3058: 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_088B3060: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); ctx.gpr[8] = (16256u << 16u); ctx.fpr[15] = std::bit_cast(ctx.gpr[8]); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[15])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_16 = aot_fpr_12 - aot_fpr_16; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_16; 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_13 = std::bit_cast(0u); 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_088B316C; } goto L_088B309C; } L_088B309C: aot_fpr_12 = aot_fpr_16 - aot_fpr_12; aot_fpr_12 = aot_fpr_16 / aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; { const float fs = ctx.fpr[17]; 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; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.fpr[19] = ctx.fpr[19] - aot_fpr_16; { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } aot_fpr_16 = ctx.fpr[19] + aot_fpr_16; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] <= ctx.fpr[0])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B316C; } goto L_088B30E0; } L_088B30E0: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B316C; } goto L_088B30F4; } L_088B30F4: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 <= ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B316C; } goto L_088B3108; } L_088B3108: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B316C; } goto L_088B311C; } L_088B311C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] <= aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B316C; } goto L_088B312C; } L_088B312C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[9] = (49024u << 16u); aot_fpr_14 = std::bit_cast(ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_13)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088B316C; L_088B316C: aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_fpr_16 = aot_fpr_16 - aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_fpr_12 = ctx.fpr[17] - aot_fpr_12; { const float fs = aot_fpr_16; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B325C; } goto L_088B3194; } L_088B3194: aot_fpr_12 = aot_fpr_16 - aot_fpr_12; aot_fpr_12 = aot_fpr_16 / aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; { const float fs = ctx.fpr[17]; 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; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.fpr[19] = ctx.fpr[19] - aot_fpr_16; { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } aot_fpr_16 = ctx.fpr[19] + aot_fpr_16; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] <= ctx.fpr[0])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B325C; } goto L_088B31D8; } L_088B31D8: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B325C; } goto L_088B31EC; } L_088B31EC: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 <= ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B325C; } goto L_088B3200; } L_088B3200: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B325C; } goto L_088B3214; } L_088B3214: 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_088B325C; } goto L_088B3224; } L_088B3224: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_13)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088B325C; L_088B325C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_16 = aot_fpr_12 - aot_fpr_16; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[17]; { const float fs = aot_fpr_16; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3354; } goto L_088B3284; } L_088B3284: aot_fpr_12 = aot_fpr_16 - aot_fpr_12; aot_fpr_12 = aot_fpr_16 / aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; { const float fs = ctx.fpr[17]; 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; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.fpr[19] = ctx.fpr[19] - aot_fpr_16; { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } aot_fpr_16 = ctx.fpr[19] + aot_fpr_16; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] <= ctx.fpr[0])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3354; } goto L_088B32C8; } L_088B32C8: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3354; } goto L_088B32DC; } L_088B32DC: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 <= ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3354; } goto L_088B32F0; } L_088B32F0: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3354; } goto L_088B3304; } L_088B3304: 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_088B3354; } goto L_088B3314; } L_088B3314: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(64)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_13)); ctx.gpr[9] = (49024u << 16u); aot_fpr_14 = std::bit_cast(ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_13)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088B3354; L_088B3354: aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_fpr_16 = aot_fpr_16 - aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_12 = ctx.fpr[17] - aot_fpr_12; { const float fs = aot_fpr_16; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3444; } goto L_088B337C; } L_088B337C: aot_fpr_12 = aot_fpr_16 - aot_fpr_12; aot_fpr_12 = aot_fpr_16 / aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; { const float fs = ctx.fpr[17]; 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; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.fpr[19] = ctx.fpr[19] - aot_fpr_16; { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } aot_fpr_16 = ctx.fpr[19] + aot_fpr_16; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] <= ctx.fpr[0])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3444; } goto L_088B33C0; } L_088B33C0: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3444; } goto L_088B33D4; } L_088B33D4: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 <= ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3444; } goto L_088B33E8; } L_088B33E8: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3444; } goto L_088B33FC; } L_088B33FC: 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_088B3444; } goto L_088B340C; } L_088B340C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(80)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_13)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088B3444; L_088B3444: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_16 = aot_fpr_12 - aot_fpr_16; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[17]; { const float fs = aot_fpr_16; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B353C; } goto L_088B346C; } L_088B346C: aot_fpr_12 = aot_fpr_16 - aot_fpr_12; aot_fpr_12 = aot_fpr_16 / aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; { const float fs = ctx.fpr[17]; 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; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[19] = ctx.fpr[19] - aot_fpr_16; { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } aot_fpr_16 = ctx.fpr[19] + aot_fpr_16; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] <= ctx.fpr[0])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B353C; } goto L_088B34B0; } L_088B34B0: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B353C; } goto L_088B34C4; } L_088B34C4: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 <= ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B353C; } goto L_088B34D8; } L_088B34D8: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B353C; } goto L_088B34EC; } L_088B34EC: 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_088B353C; } goto L_088B34FC; } L_088B34FC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_14)); ctx.gpr[8] = (aot_gpr_29 + static_cast(96)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_13)); ctx.gpr[9] = (49024u << 16u); aot_fpr_14 = std::bit_cast(ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_14)); { const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(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[8] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088B353C; L_088B353C: aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); aot_fpr_16 = aot_fpr_16 - aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_fpr_12 = ctx.fpr[17] - aot_fpr_12; { const float fs = aot_fpr_16; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < aot_fpr_13)) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B362C; } goto L_088B3564; } L_088B3564: aot_fpr_12 = aot_fpr_16 - aot_fpr_12; aot_fpr_12 = aot_fpr_16 / aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; { const float fs = ctx.fpr[17]; 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; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[19] = ctx.fpr[19] - aot_fpr_16; { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } aot_fpr_16 = ctx.fpr[19] + aot_fpr_16; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] <= ctx.fpr[0])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B362C; } goto L_088B35A8; } L_088B35A8: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B362C; } goto L_088B35BC; } L_088B35BC: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 <= ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B362C; } goto L_088B35D0; } L_088B35D0: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_16 < ctx.fpr[18])) ? 0x00800000u : 0u); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B362C; } goto L_088B35E4; } L_088B35E4: 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_088B362C; } goto L_088B35F4; } L_088B35F4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { 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_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(ctx.fpr[15])); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_088B362C; L_088B362C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); 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_088B36C4; } goto L_088B3640; } L_088B3640: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[9] = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[9]); aot_gpr_4 = (aot_gpr_6 + static_cast(16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); ctx.gpr[8] = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[10]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[8]); aot_gpr_4 = (aot_gpr_6 + static_cast(30)); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(29), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B36C8; } goto L_088B36C4; } L_088B36C4: aot_gpr_2 = (0u | 0u); goto L_088B36C8; L_088B36C8: jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } // PSPRECOMP_V812_SHARED_SCHED_JUMP goto LOCAL_SCHED_BOUNDARY; L_088B36D0: { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ std::bit_cast(vfpu_words[0]), std::bit_cast(vfpu_words[1]), std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2))); ctx.gpr[10] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(4))); ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_5); ctx.gpr[9] = (ctx.gpr[9] + aot_gpr_5); ctx.gpr[10] = (ctx.gpr[10] + aot_gpr_5); ctx.gpr[11] = (aot_mem.aot_direct_load_word_right(ctx.gpr[8] + static_cast(0), ctx.gpr[11])); ctx.gpr[11] = (aot_mem.aot_direct_load_word_left(ctx.gpr[8] + static_cast(3), ctx.gpr[11])); ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(4))); ctx.gpr[12] = (aot_mem.aot_direct_load_word_right(ctx.gpr[9] + static_cast(0), ctx.gpr[12])); ctx.gpr[12] = (aot_mem.aot_direct_load_word_left(ctx.gpr[9] + static_cast(3), ctx.gpr[12])); ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(4))); ctx.gpr[13] = (aot_mem.aot_direct_load_word_right(ctx.gpr[10] + static_cast(0), ctx.gpr[13])); ctx.gpr[13] = (aot_mem.aot_direct_load_word_left(ctx.gpr[10] + static_cast(3), ctx.gpr[13])); ctx.gpr[10] = (aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<8u>(ctx.gpr[11]); ctx.set_vfpu_scalar_bits_ct<40u>(ctx.gpr[8]); ctx.set_vfpu_scalar_bits_ct<9u>(ctx.gpr[12]); ctx.set_vfpu_scalar_bits_ct<41u>(ctx.gpr[9]); ctx.set_vfpu_scalar_bits_ct<10u>(ctx.gpr[13]); ctx.set_vfpu_scalar_bits_ct<42u>(ctx.gpr[10]); ctx.execute_vfpu_vx2i_ct<4u, 8u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<4u, 4u, 4u, 23u>(); ctx.execute_vfpu_vx2i_ct<5u, 9u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<5u, 5u, 4u, 23u>(); ctx.execute_vfpu_vx2i_ct<6u, 10u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<6u, 6u, 4u, 23u>(); ctx.execute_vfpu_vec3_ct<9u, 5u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<10u, 6u, 4u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<17u, 10u, 9u, 3u>(); ctx.execute_vfpu_vdot_ct<110u, 17u, 17u, 3u>(); ctx.execute_vfpu_unary_ct<110u, 110u, 1u, 17u>(); ctx.execute_vfpu_vscl_ct<7u, 17u, 110u, 3u>(); ctx.execute_vfpu_vdot_ct<103u, 7u, 4u, 3u>(); ctx.execute_vfpu_vdot_ct<24u, 1u, 7u, 3u>(); ctx.execute_vfpu_vdot_ct<56u, 2u, 7u, 3u>(); ctx.execute_vfpu_vcmp_ct<24u, 103u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; ctx.execute_vfpu_vcmp_ct<56u, 103u, 1u, 7u>(); if (branch_taken) { goto L_088B3784; } goto L_088B3774; } L_088B3774: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) == 0u; if (branch_taken) { goto L_088B37F0; } goto L_088B377C; } L_088B377C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B378C; } goto L_088B3784; } L_088B3784: { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; if (branch_taken) { goto L_088B37F0; } goto L_088B378C; } L_088B378C: ctx.execute_vfpu_vec3_ct<3u, 2u, 1u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<24u, 103u, 24u, 1u, 1u>(); ctx.execute_vfpu_vdot_ct<56u, 3u, 7u, 3u>(); ctx.execute_vfpu_unary_ct<56u, 56u, 1u, 16u>(); ctx.execute_vfpu_vec3_ct<24u, 24u, 56u, 1u, 2u>(); ctx.execute_vfpu_vscl_ct<8u, 3u, 24u, 3u>(); ctx.execute_vfpu_vec3_ct<1u, 8u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<8u, 4u, 5u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<11u, 6u, 5u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<12u, 1u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<13u, 1u, 5u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<19u, 9u, 10u, 3u>(); ctx.execute_vfpu_cross_quat_ct<15u, 11u, 8u, 3u>(); ctx.execute_vfpu_cross_quat_ct<18u, 9u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<16u, 10u, 12u, 3u>(); ctx.execute_vfpu_cross_quat_ct<14u, 11u, 13u, 3u>(); ctx.execute_vfpu_vdot_ct<102u, 18u, 19u, 3u>(); ctx.execute_vfpu_vdot_ct<101u, 16u, 17u, 3u>(); ctx.execute_vfpu_vdot_ct<100u, 14u, 15u, 3u>(); ctx.execute_vfpu_vcmp_ct<39u, 0u, 3u, 6u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) == 0u; if (branch_taken) { goto L_088B37F0; } goto L_088B37E8; } L_088B37E8: jump_target = aot_gpr_31; aot_gpr_2 = (0u + static_cast(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_088B37F0: jump_target = aot_gpr_31; aot_gpr_2 = (0u | 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_088B3800: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); ctx.gpr[22] = (aot_gpr_6 & 255u); ctx.gpr[21] = (ctx.gpr[7] & 255u); ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3938; } goto L_088B3850; } L_088B3850: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_088B38AC; } goto L_088B3858; } L_088B3858: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 8u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3914; } goto L_088B38AC; } L_088B38AC: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_088B38FC; } goto L_088B38B4; } L_088B38B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3914; } goto L_088B38FC; } L_088B38FC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_31 = (0x088B390Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B12A8; L_088B390C: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_088B3930; } goto L_088B3914; } L_088B3914: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_088B3850; } goto L_088B3928; } L_088B3928: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B3938; } goto L_088B3930; } L_088B3930: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } goto L_088B3938; } L_088B3938: ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3A34; } goto L_088B394C; } L_088B394C: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_088B39A8; } goto L_088B3954; } L_088B3954: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 8u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3A10; } goto L_088B39A8; } L_088B39A8: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_088B39F8; } goto L_088B39B0; } L_088B39B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3A10; } goto L_088B39F8; } L_088B39F8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_31 = (0x088B3A08u); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B1780; L_088B3A08: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_088B3A2C; } goto L_088B3A10; } L_088B3A10: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_088B394C; } goto L_088B3A24; } L_088B3A24: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B3A34; } goto L_088B3A2C; } L_088B3A2C: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } goto L_088B3A34; } L_088B3A34: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(50))); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088B3CB8; } goto L_088B3A40; } L_088B3A40: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(54))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); if (branch_taken) { goto L_088B3BB8; } goto L_088B3A50; } L_088B3A50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[30] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[30]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[23] = (0u | 0u); if (branch_taken) { goto L_088B3BB0; } goto L_088B3A64; } L_088B3A64: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(68))); ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[23]); { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_vx2i_ct<0u, 2u, 2u, 3u>(); ctx.execute_vfpu_vx2i_ct<1u, 66u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<0u, 0u, 3u, 23u>(); ctx.execute_vfpu_vi2f_ct<1u, 1u, 3u, 23u>(); { 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); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(16); 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[20] | 0u); aot_gpr_31 = (0x088B3A94u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088B1780; L_088B3A94: { const bool branch_taken = aot_gpr_2 == 0u; if (branch_taken) { goto L_088B3B9C; } goto L_088B3A9C; } L_088B3A9C: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(6)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(14)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[16] = (ctx.gpr[17] << 3u); if (branch_taken) { goto L_088B3B9C; } goto L_088B3AB0; } L_088B3AB0: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_088B3B0C; } goto L_088B3AB8; } L_088B3AB8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 8u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3B78; } goto L_088B3B0C; } L_088B3B0C: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_088B3B5C; } goto L_088B3B14; } L_088B3B14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3B78; } goto L_088B3B5C; } L_088B3B5C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); aot_gpr_31 = (0x088B3B70u); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B36D0; L_088B3B70: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_088B3B94; } goto L_088B3B78; } L_088B3B78: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(14)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (ctx.gpr[16] + static_cast(8)); if (branch_taken) { goto L_088B3AB0; } goto L_088B3B8C; } L_088B3B8C: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B3B9C; } goto L_088B3B94; } L_088B3B94: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } goto L_088B3B9C; } L_088B3B9C: ctx.gpr[30] = (ctx.gpr[30] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (static_cast(ctx.gpr[30]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[23] = (ctx.gpr[23] + static_cast(16)); if (branch_taken) { goto L_088B3A64; } goto L_088B3BB0; } L_088B3BB0: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B3CB8; } goto L_088B3BB8; } L_088B3BB8: ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(50))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3CB8; } goto L_088B3BCC; } L_088B3BCC: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_088B3C28; } goto L_088B3BD4; } L_088B3BD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 8u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3C94; } goto L_088B3C28; } L_088B3C28: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_088B3C78; } goto L_088B3C30; } L_088B3C30: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3C94; } goto L_088B3C78; } L_088B3C78: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_31 = (0x088B3C8Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B36D0; L_088B3C8C: { const bool branch_taken = aot_gpr_2 != 0u; if (branch_taken) { goto L_088B3CB0; } goto L_088B3C94; } L_088B3C94: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(50))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); if (branch_taken) { goto L_088B3BCC; } goto L_088B3CA8; } L_088B3CA8: { const bool branch_taken = 0u == 0u; if (branch_taken) { goto L_088B3CB8; } goto L_088B3CB0; } L_088B3CB0: { const bool branch_taken = 0u == 0u; aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } goto L_088B3CB8; } L_088B3CB8: aot_gpr_2 = (0u | 0u); goto L_088B3CBC; L_088B3CBC: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); 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_088B3CEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_31); ctx.gpr[22] = (ctx.gpr[8] & 255u); ctx.gpr[21] = (ctx.gpr[9] & 255u); ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[23] = (aot_gpr_6 | 0u); ctx.gpr[10] = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[10]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; if (branch_taken) { goto L_088B3EAC; } goto L_088B3D54; } L_088B3D54: ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[17] = (0u | 0u); goto L_088B3D5C; L_088B3D5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_12)) && aot_fpr_12 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3D84; } goto L_088B3D78; } L_088B3D78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(ctx.fpr[20])); goto L_088B3D84; L_088B3D84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_12)) && aot_fpr_12 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3DAC; } goto L_088B3DA0; } L_088B3DA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[20])); goto L_088B3DAC; L_088B3DAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_12)) && aot_fpr_12 == aot_fpr_12)) ? 0x00800000u : 0u); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); if (branch_taken) { goto L_088B3DD4; } goto L_088B3DC8; } L_088B3DC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(ctx.fpr[20])); goto L_088B3DD4; L_088B3DD4: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_088B3E30; } goto L_088B3DDC; } L_088B3DDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 8u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3E98; } goto L_088B3E30; } L_088B3E30: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_088B3E80; } goto L_088B3E38; } L_088B3E38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3E98; } goto L_088B3E80; } L_088B3E80: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088B3E98u); ctx.gpr[7] = (aot_gpr_29 | 0u); ctx.pc = 0x088B1554u; ([&]() { AOT_REGCACHE_SYNC_OUT(); rt.invoke_native_fast_path(0x088B1554u, ctx); AOT_REGCACHE_SYNC_IN(); }()); if (ctx.pc == 0x088B3E98u) goto L_088B3E98; AOT_REGCACHE_SYNC_OUT(); return; L_088B3E98: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_088B3D5C; } goto L_088B3EAC; } L_088B3EAC: ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3F98; } goto L_088B3EC0; } L_088B3EC0: { const bool branch_taken = ctx.gpr[22] == 0u; if (branch_taken) { goto L_088B3F1C; } goto L_088B3EC8; } L_088B3EC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 8u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3F84; } goto L_088B3F1C; } L_088B3F1C: { const bool branch_taken = ctx.gpr[21] == 0u; if (branch_taken) { goto L_088B3F6C; } goto L_088B3F24; } L_088B3F24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_4 ^ 16u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_6 = (aot_gpr_4 ^ 31u); aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 ^ 12u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; if (branch_taken) { goto L_088B3F84; } goto L_088B3F6C; } L_088B3F6C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088B3F84u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_088B3060; L_088B3F84: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_088B3EC0; } goto L_088B3F98; } L_088B3F98: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(50))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 19u, 0x088B420Cu>(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_088B3FA4; L_088B3FA4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(54))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 11u, 0x088B4118u>(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_088B3FB4; } L_088B3FB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 10u, 0x088B4110u>(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_088B3FC8; } L_088B3FC8: ctx.gpr[30] = (0u | 0u); goto L_088B3FCC; L_088B3FCC: // TIER2_SUPERBLOCK_V2_HOOK_BEGIN if (vcs::tier2_cluster_enabled(vcs::Tier2ClusterId::Edge43) && rt.memory().direct_fastmem_enabled()) { AOT_REGCACHE_SYNC_OUT(); aot_regcache_valid = false; vcs::tier2_superblock_edge43(rt, ctx, aot_mem, 0x088B3FCCu); AOT_REGCACHE_SYNC_OUT(); return; } // TIER2_SUPERBLOCK_V2_HOOK_END ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(68))); ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[30]); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); { 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<2u, 4u>(vfpu_value); } ctx.execute_vfpu_vx2i_ct<0u, 2u, 2u, 3u>(); ctx.execute_vfpu_vx2i_ct<1u, 66u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<0u, 0u, 3u, 23u>(); ctx.execute_vfpu_vi2f_ct<1u, 1u, 3u, 23u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088B3FFCu); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B1780; L_088B3FFC: if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 9u, 0x088B40F8u>(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_direct<&recomp_unit_0044_entry, 44u, 1u, 0x088B4004u>(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_0043(Runtime &rt, AllegrexContext &ctx) { auto aot_mem = rt.memory().aot_fast_view(); recomp_unit_0043_entry(rt, ctx, 0u, aot_mem); } void register_generated_unit_43(Runtime &runtime) { runtime.register_generated_unit(43u, 0x088B0000u, 16384u, &recomp_unit_0043, &recomp_unit_0043_entry); // PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls. runtime.register_generated_entry_mask(0x088B0000u, &recomp_unit_0043, "recomp_unit_0043", kEntryMasks_recomp_unit_0043, 64u); } } // namespace psprecomp